NDK开发,加载so库,运行崩溃JNI DETECTED ERROR IN APPLICATION: JNI RegisterNatives called with pending exception

20 篇文章 0 订阅
10 篇文章 0 订阅

JNI DETECTED ERROR IN APPLICATION: JNI RegisterNatives called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.xxx.xxx" on path: DexPathList[[zip file "/data/app/com.xxx.ndkdemo-sKdbYfzMstKNudU5YHhsJQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.ndkdemo-sKdbYfzMstKNudU5YHhsJQ==/lib/arm64, /data/app/com.xxx.ndkdemo-sKdbYfzMstKNudU5YHhsJQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]

一头雾水的搞了一天,国内资料不多,翻墙出去大部分开发者报的错不是JNI的classnotfound。下面这篇博客我看了五六遍才灵光一现,这位博主的解释是对的:JNI找不到你对应的java class。

https://blog.csdn.net/sy373466062/article/details/51887799

但是他没有详细写解决方案。。。所以我看完头发掉了一肩不知所云。。。

解决方案是这样的:

仔细看你报错的  Didn't find class "com.xxx.xxx" on path 红色字体,如果你用的是第三方框架的so库,那么在你的project视图下的main -> java 下面,新建一个报错的文件夹:

再把JNI映射java文件放进去,就是你引入so库的static{}的入口文件。

这里因为so是我自己打的,所以都用了同样的公司包名了。

 

如果你有C源码,那么打包的时候注意一下,入口的时候好好规范一下你的映射名,别写的太随意了。。。

 

 

掉了那么多头发,转载请注明,侵究哦~

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值