1、jni 找不到符号问题。
符号未定义crash 使用命令查看是否未定义,可以快速确认。
arm-linux-androideabi-objdump -tT projects/android/product/test_im_sdk/libs/Release/armeabi-v7a/ test_im_sdk.so| grep IUserListE
2、jni 符号翻译问题,可以把编译器变种后的符号翻译为肉眼能看到的符号
arm-linux-androideabi-c++filt _ZZN10ThreadPoolC1EmENKUlvE_clEv arm-linux-androideabi-c++filt 符号表字符串 carsh 问题。 查找堆栈 使用命令:adb logcat | ndk-stack -sym /Users/ccc/my-folder/PublishAndPlayNoQueue/app/libs/arm64-v8a/ libtest_im_sdk.so (库路径)
3、符号表翻译命令:
/Users/ccc/Library/Android/sdk/ndk/21.3.6528147/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line -C -f -e /Users/ccc/my-folder/PublishAndPlayNoQueue/app/libs/arm64-v8a/ test_im_sdk.so 0x0000000000258bb0 0x0000000000258b58 0x00000000004ee1e4
简化命令就是: aarch64-linux-android-addr2line -C -f -e 库路径 符号地址