java.lang.UnsatisfiedLinkError: No implementation found for int XXXXXXXXXX

之前将以前使用Eclipse的项目移植到Android Studio上(这个项目使用了JNI,也就会用到so库,Java调用C代码),之后使用三星5.1系统的手机进行测试,一切都正常,但是今年又做了一个相关的SDK,这就免不了在各种手机上进行测试,当我使用魅蓝5.0系统的手机进行测试时,直接就闪退。脑子里不禁发出困惑What are you 弄啥嘞?

遇到问题第一时间肯定是打开控制台看一下log,控制台的log显示java.lang.UnsatisfiedLinkError: No implementation found for int XXXXXXXXXX......,从字面的意思就能看出这是有的方法没有实现导致的啊,直接找到XXXXXXXX所代表的方法,一看这是用Java定义的方法,映射调用底层C代码。一看这几个Java方法下边有红色的波浪线,鼠标放在上边显示找不到方法(记不清了 反正是error),直接在百度上搜索一下找到解决方法settings--Plugins--Android NDK Support取消勾选,gradle一下马上就不报错了,乐呵呵的运行了程序跑到手机上,眼前一闪屏幕上显示,程序已崩溃....,一看log还是这个问题,马上上网搜索相应的解决方式,找到几种解决方式,比如cpp文件加extern "C"{};c++中的方法Java_xxx_xxx 中的Java 首字母一定要大写啊;什么c++中的定义的方法的路径一定和Java中所映射的方法路径一致啊等等等,都相应的试了一下,然而并没有什么用。

就这样整整弄了几个小时都没有解决这个问题,以至于午餐时间都没有好好的享用,最后我就在考虑在三星的5.1系统上可以正常使用,为什么在魅蓝5.0系统就不行呢?不同的厂商对安卓原生系统都进行了深度定制,那是不是魅族5.0系统将底层文件进行了阉割呢?带着这个疑问我将魅蓝5.0系统进行在线升级,就这样等啊等啊等...终于升级完成,马上跑了一下,正常运行。嘴角不禁上扬哈哈哈....

在这个bug中,也找到了一下相应的解决办法,可能解决你遇到的问题就在这些方式中,下面我把对应的连接给大家。

解决这个问题的其他方式

完全利用上班的时间一个字一个字敲的,希望对大家有帮助。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,183评论 19赞 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,480评论 25赞 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,257评论 18赞 399
  • 在基本的DataSource实现中,客户端的Connection对象和物理数据库连接之间存在1:1的对应关系。 当...
    zlb阅读 3,159评论 0赞 1
  • Android Studio 3.0自带kotlin开发环境,3.0之前需下载kotlin插件 1.kotlin插...
    Monkey_sxl阅读 288评论 0赞 1

友情链接更多精彩内容