【安卓】 -002 JNI库在低版本安卓上运行报“cannot locate symbol "__register_atfork" referenced by "libxxx.so"错误

【安卓】 -002 JNI库在低版本安卓上运行报“cannot locate symbol “__register_atfork” referenced by "libxxx.so"错误

  最近在弄C++代码转安卓库的时候,发现原来用NDK编译好的库在实际设备上运行时,加载过程中会导致程序崩溃问题。看log报的错误是“cannot locate symbol “__register_atfork” referenced by “libxxx.so”。

  编译环境:win10 x64, Android Studio 3.3.2, NDK r18.
  测试环境:荣耀10,安卓9.
  目标设备:安卓5.1.1
  现象:在测试环境中运行正常,在目标设备上加载so时崩溃,报“cannot locate symbol “__register_atfork” referenced by "libxxx.so"错误。
  解决方法:网上搜索时发现有说NDK版本不一致导致的问题。https://blog.csdn.net/confusing_awakening/article/details/80321261 。而现场配置中正好NDK版本是r18, AS提示NDK版本可以升级。于是升级NDK到推荐的最新版本。重新编译所有的库,测试问题解决。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值