我试图与两个亲戚一起运行Android应用程序:
CSipSimple Library项目。
.so
个库。
仅使用.so
库运行应用程序时,它运行正常,但在添加CSipSimple项目后运行它时,它无法找到.so
库并给我以下内容例外:
09-22 17:18:02.650:W / System.err(13662):java.lang.UnsatisfiedLinkError:无法从loader dalvik.system.PathClassLoader [dexPathList [[zip file&#34]加载dvr ; /data/app/com.automation.isolace-2.apk"],nativeLibraryDirectories = [/ data / app-lib / com.automation.isolace-2,/ vendor / lib,/ system / lib]]] :findLibrary返回null 09-22 17:18:02.650:W / System.err(13662):at java.lang.Runtime.loadLibrary(Runtime.java:358) 09-22 17:18:02.650:W / System.err(13662):at java.lang.System.loadLibrary(System.java:526) 09-22 17:18:02.650:W / System.err(13662):at com.company.NetSDK.INetSDK.LoadLibrarys(INetSDK.java:26) 09-22 17:18:02.650:W / System.err(13662):at com.company.NetSDK.INetSDK。(INetSDK.java:6) 09-22 17:18:02.650:W / System.err(13662):at com.automation.isolace.VideoViewActivity $ 3.run(VideoViewActivity.java:137)
方法 LoadLibraries :
/* */ public static void LoadLibrarys()
/* */ {
/* */ try
/* */ {
/* 17 */ String strOSType = System.getProperty("os.name");
/* 18 */ if (strOSType.contains("Window"))
/* */ {
/* 20 */ System.loadLibrary("dhconfigsdk");
/* 21 */ System.loadLibrary("dhnetsdk");
/* 22 */ System.loadLibrary("netsdk");
/* */ }
/* */ else
/* */ {
/* 26 */ System.loadLibrary("dvr");
/* 27 */ System.loadLibrary("configsdk");
/* 28 */ System.loadLibrary("netsdk");
/* 29 */ System.loadLibrary("sdk");
/* */ }
/* */ } catch (UnsatisfiedLinkError ulink) {
/* 32 */ ulink.printStackTrace();
/* */ }
/* */ }
和我的应用的层次结构:
答案 0 :(得分:1)
这可能是因为libs/armeabi
&中的库。 libs/armeabi-v7a
不同,例如libs/armeabi-v7a
仅包含.so库的子集。添加库项目依赖项时,应检查其libs/armeabi
& libs/armeabi-v7a
个文件夹。