在Android Studio的菜单栏中选择File -> Project Structure,然后选择app模块,进入Build Variants选项卡。确认是否选中了native debug symbols选项。
如果应用启用了ProGuard,则需要在ProGuard文件中添加以下代码:
# Create the symbol file with debug information
# See https://sites.google.com/a/android.com/tools/tech-docs/proguard
-printmapping mapping.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping proguard.map
-dump class_files.bin
-verbose
其中-printmapping选项会输出混淆后的类名和方法名的对应关系,-dump选项会将类的字节码输出到class_files.bin中。
如果以上两个步骤都已经确认过了,但仍然没有生成native-debug-symbols压缩文件,可以尝试手动生成符号文件。在终端中输入以下命令:
cd app/build/intermediates/cmake/release/obj/arm64-v8a
${NDK_HOME}/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-objcopy --only-keep-debug libnative-lib.so libnative-lib.so.debug
其中${NDK_HOME}为NDK的安装路径。运行命令后就可以在同一目录下看到生成的libnative-lib.so.debug文件了,这个文件就是符号文件。然后可以手动打包为zip文件。