2017-08-29 137 views
2

我有一些錯誤,從https://github.com/BelledonneCommunications/linphone-android機器人 - [Linphone中]找不到 「libgnustl_shared.so」

安裝Linphone中時,它看起來像這樣:

10月8日至29日:33:39.705 14701-14701 /? E/AndroidRuntime:致命例外:main 進程:org.linphone,PID:14701 java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList [[zip文件「/data/app/org.linphone-2/base。 apk「],nativeLibraryDirectories = [/ vendor/lib64,/ system/lib64]]] 在java下的java.lang.Runtime.loadLibrary(Runtime.java:367) 找不到」libgnustl_shared.so「 。 lang.System.loadLibrary(System.java:988) at org.linphone.core.LinphoneCoreFactoryImpl。(LinphoneCoreFactoryImpl.java:47) at java.lang.Class.classForName(Native Method) at java.lang.Class。 forName(Class.java:309) at java.lang.Class.forNa me(Class.java:273) at org.linphone.core.LinphoneCoreFactory.instance(LinphoneCoreFactory.java:47) at org.linphone.LinphoneService.onCreate(LinphoneService.java:305) at android.app.ActivityThread。在android.app.ActivityThread.access處使用handleCreateService(ActivityThread.java:3020) $ 1800(ActivityThread.java:182) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1557) at android.os.Handler .dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5662) at java.lang.reflect.Method .invoke(Native Method) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:960) 在com.android.internal.os。 ZygoteInit.main(ZygoteInit.java:755)

確實有人必須解決此問題嗎?或者有任何可以在android studio中正確運行的源代碼?謝謝

回答

1

這是因爲linphone內置不包括64位庫。 因此,當您在Android上安裝APK時,系統將按照以下順序確定APK的lib文件夾內的本機庫目錄(armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips64,mips) Build.SUPPORTED_ABIS。

如果您的應用碰巧有一個缺少libs的arm64-v8a目錄,缺少的libs將不會從另一個目錄安裝,這些libs不會混合使用。這意味着您必須爲每個體系結構提供完整的庫集。

所以,解決你的問題,你可以從你的身材,或者設置abiFilters刪除您的64位庫包裝只有32位架構:

android { 
.... 
defaultConfig { 
    .... 
    ndk { 
     abiFilters "armeabi", "armeabi-v7a", "x86" 
    } 
} 

}

這是在如果您的項目中有這些館藏。你可以根據你的項目進行調整。 欲瞭解更多信息,請參閱:How to use 32-bit native libraries on 64-bit Android device 你可以看看這個鏈接。