同样的so,放到不同的project中,就会报错

网上看到的帖子,笔记一下

最近在看蓝斯的一篇文章基于Platinum库的DMS实现(android)

把其中的so文件直接拷贝到了另外一个project中,jin文件也一样,唯一不同的是包名。

运行报错,如下

01-22 10:23:03.830: E/AndroidRuntime(7188): FATAL EXCEPTION: Thread-423
01-22 10:23:03.830: E/AndroidRuntime(7188): java.lang.UnsatisfiedLinkError: Native method not found: com.example.mediatest.jni.DMSJniInterface.stopServer:()
01-22 10:23:03.830: E/AndroidRuntime(7188): at com.example.mediatest.jni.DMSJniInterface.stopServer(Native Method)
01-22 10:23:03.830: E/AndroidRuntime(7188): at com.example.mediatest.services.DMSWorkThread.stopEngine(DMSWorkThread.java:116)
01-22 10:23:03.830: E/AndroidRuntime(7188): at com.example.mediatest.services.DMSWorkThread.refreshNotify(DMSWorkThread.java:87)
01-22 10:23:03.830: E/AndroidRuntime(7188): at com.example.mediatest.services.DMSWorkThread.run(DMSWorkThread.java:62)

折腾了好久,看到了一篇解答http://www.eoeandroid.com/thread-60793-1-1.html 

又仔细看了一下log输出,注意高亮的那一句。

调试原来的demo看,stopServer是com.github.mediaserver.server.jni.DMSJniInterface.stopServer

于是,把DMSJniInterface的包名改回去,一切OK了。

原文地址:https://www.cnblogs.com/xiaokang088/p/4235850.html