繁体   English   中英

依赖于SO文件的JAR依赖性

[英]Dependency on JAR that depends on a SO file

我正在开发一个依赖于依赖于SO文件的JAR文件的应用程序(WebRTC)。

我能够加载JAR文件但我的问题是它无法加载SO文件。

dlopen(“/ data / app-lib / com.webrtc.peerrtc-2 / libjingle_peerconnection_so.so”)失败:dlopen失败:“/ data / app-lib / com.webrtc.peerrtc-2 / libjingle_peerconnection_so.so”出乎意料e_machine:3

“/data/app-lib/com.webrtc.peerrtc-2/libjingle_peerconnection_so.so”有意想不到的e_machine:3

这意味着动态链接器已经找到了为e_machine 3构建的库,它是i386,当它需要其他东西时,例如为ARM体系结构构建的库。

通常,Android会根据包含它的文件夹的名称来决定从APK中提取哪些库。 看起来你的jar或你的项目本身正在将i386版本的库放在你运行的任何目标体系结构的那个地方。

您可以尝试使用zip文件工具来检查jar和apk。

如果您在Linux系统上开发,该file命令也许能够告诉你一个.so文件指定的机型,让你确定它是否已被放置在错误的目录。

您是否将so库放在给定体系结构的相应src / main / jniLibs文件夹中? (如果你还在Eclipse中,它必须在libs / [arch]下)。 把它放到那里后,Android应该加载它,JAR应该找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM