APK 내의 so파일에는 불필요한 심볼을 최대한 제거하되, 네이티브 코드에 대한 디버깅은 가능하도록 하고 싶습니다.
NDK 툴로 컴파일된 네이티브 라이브러리의 심볼이 so파일의 dynsym 섹션에 저장되고,
-fvisibility=hidden 옵션을 사용하면 public이 아닌 심볼을 숨길 수 있다는 내용은 찾았는데,
이렇게 하면 앱에서 발생한 미니덤프를 수집해도 정상적으로 볼 방법이 없는 상태이고,
그렇다고 hidden을 사용하지 않으면 APK내의 so파일에 네이티브 라이브러리의 심볼이 노출되어서 해킹에 취약한 상황이 되는 것 같네요.
안드로이드에서도 Windows에서의 dll, pdb 파일처럼
so파일을 컴파일된 라이브러리 파일과 심볼파일로 분리해서 사용이 가능한가요?
만약 가능하다면, 네이티브 라이브러리에 대한 dynsym도 별도의 심볼파일로 분리가 가능한가요?