美文网首页
Android调用JNI时报异常: java.lang.Unsa

Android调用JNI时报异常: java.lang.Unsa

作者: 蘑菇v5 | 来源:发表于2018-09-20 11:48 被阅读43次

    【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!

    项目需求:

    对接平板硬件,使其能够根据状态,动态变换两边颜色。

    异常问题:

    根据厂家提供的demo,调试自己程序的时候,每次都报java.lang.UnsatisfiedLinkError: No implementation found for xxx...
    但是自己的各种配置,都是根据demo的,所以很疑惑。使用第三方的so库时候,调用JNI方法时出现了错误。报错如下所示:

    异常错误

    异常原因:

    我们.so中函数声明涉及到的package nameclass name与调用它的package nameclass name不符,对照本项目,就是项目中类的包名一定要是com.example.elcapi,而项目中写的是com.example.test。原因是JNI接口Java_com_example_elcapi_jnielc中,com.example.elcapi代表的是package namejnielc则是class name

    解决方法:

    修改项目结构,新建包名com.example.elcapi,路径不能错,并把jnielc类移到该包名下面。如下图所示:

    项目结构
    其他配置(红色是重点 其他配置项

    效果图:

    效果图1 效果图2

    相关文章

      网友评论

          本文标题:Android调用JNI时报异常: java.lang.Unsa

          本文链接:https://www.haomeiwen.com/subject/sdbgnftx.html