同样的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了。