1.先找到NDK
以ndk17版本为例,添加addr2line路径到环境变量(Mac环境)
arm-v7路径
/Users/xxx/xxx/android-ndk-r17c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin
arm-v8路径
/Users/xxx/xxx/android-ndk-r17c/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin
2.运行程序找到c/c++代码crash的log信息
可搜索#00定位错误信息,如图所示:
找到并记下so对应的错误码00004b68
3.在编译生成的文件找到对应的so,并进入该目录下
执行命令
arm-linux-androideabi-addr2line -e libxxxxxx.so 00004b68
如下图可定位到引起错误文件的代码行easy_mobile_fst.cpp文件的641行