我看过这里关于这个问题的所有其他帖子,但没有一个对我有帮助。
我正在使用第三方SDK (oovoo),它包含一个.jar文件和.so文件(armeabi-v7a)。
如前所述,我将.jar文件放在libs文件夹中,armeabi-v7a文件夹(包含.so文件)放在src/main中名为jniLibs的文件夹中。
构建之后,当我解压缩.apk时,我会看到一个名为lib的文件夹,其中有一个名为armeabi-v7a的文件夹,其中包含.so文件。
但我仍然有这样的例外:
java.lang.UnsatisfiedLinkError: Native method not found: com.oovoo.core.ClientCore.VideoChannelPtr.nCreate:(Ljava/lang/String;)J谢谢分配!
android工作室版本0.8.6级版本1.12 oovoo版本1.2.4
发布于 2014-08-19 15:26:16
具体地回答你的问题:
它无法到达实现,因为在运行时,当java环境试图用原型java_com_oovoo_core_ClientCore_VideoChannelPtr_nCreate加载一个名为int (string)的本地方法时,它找不到这样一个加载的方法。造成这种情况的原因如下:
.so库在您调用该方法时没有加载,因此java不知道它(所以这是您的错误,您按错误的顺序调用函数).so库不会导出这样的函数,这意味着您没有机会修复这个函数。.so库除了armv7s之外,还需要一个不同的体系结构。确保您的设备是armv7s。.so文件。关于您的第二个问题,是的,如果apk中有lib,您将在运行时得到它。
https://stackoverflow.com/questions/25386820
复制相似问题