so库报错根据地址查看,addr2line定位出错位置

配置全局环境变量

出现’arm-linux-androideabi-addr2line’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。时

在这里插入图片描述
配置环境变量
第一步,找到对应的addr2line的位置,一般就在ndk-bundle下
在找的时候可能会在\toolchains看到这两个文件夹分别是aarch64-linux-android-4.9和arm-linux-androideabi-4.9
因为我这边用的是这个

arm-linux-androideabi-addr2line

所以我选arm-linux-androideabi-4.9这个文件夹
在这里插入图片描述

在这里插入图片描述

我这边是在

D:\Android\sdk\ndk-bundle\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin

这个目录下
复制到bin这个去配置环境变量即可。

在这里插入图片描述
然后重新启动控制台输入

arm-linux-androideabi-addr2line --version

就可以看到
在这里插入图片描述
说明就配置成功了。
接下来按照使用addr2line分析Crash日志 backtrace.这个博客进行操作就可以了。

如果出现??:?说明so库不是debug版本的看不了。
在这里插入图片描述
这时候就要修改Applicatiao.mk文件添加

APP_OPTIM := debug

这句话就是添加会生成debug的so库
重新在/jni目录下ndk-build编译一下。
在…\obj\local\armeabi下就可以看到了。再次尝试就可以了。

猜你喜欢

转载自blog.csdn.net/weixin_44232136/article/details/115526928