繁体   English   中英

android - [linphone]找不到“libgnustl_shared.so”

[英]android - [linphone] couldn't find “libgnustl_shared.so”

https://github.com/BelledonneCommunications/linphone-android安装linphone时出现错误

它看起来像这样:

08-29 10:33:39.705 14701-14701 /? E / AndroidRuntime:FATAL EXCEPTION:main进程:org.linphone,PID:14701 java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList [[zip file“/data/app/org.linphone-2/base.apk” ],nativeLibraryDirectories = [/ vendor / lib64,/ system / lib64]]]在java.lang.System.loadLibrary的java.lang.Runtime.loadLibrary(Runtime.java:367)中找不到“libgnustl_shared.so” ( System.java:988)atg.linphone.core.LinphoneCoreFactoryImpl。(LinphoneCoreFactoryImpl.java:47)at java.lang.Class.classForName(Native Method)at java.lang.Class.forName(Class.java:309)at at java.lang.Class.forName(Class.java:273)org.linphone.core.LinphoneCoreFactory.instance(LinphoneCoreFactory.java:47)at org.linphone.LinphoneService.onCreate(LinphoneService.java:305)at android.app .ActivityThread.handleCreateService(ActivityThread.java:3020)在Android.app.Handler的android.app.ActivityThread.access $ 1800(ActivityThread.java:182)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1557) .dispatchMessage( Handler.java:111)在android.app.Looper.loop(Looper.java:194)的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)at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:755)

有人必须先解决问题吗? 或者有任何可以在android studio中正确运行的源代码? 谢谢

这是因为内置的linphone不包括64位lib。 因此,当您在Android上安装APK时,系统将按照Build确定的顺序在APK的lib文件夹中查找本机库目录(armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips64,mips) .SUPPORTED_ABIS。

如果你的应用程序碰巧有一个缺少libs的arm64-v8a目录,那么将不会从另一个目录安装缺少的libs,libs不会混合。 这意味着您必须为每个体系结构提供完整的库集。

因此,要解决您的问题,您可以从构建中删除64位库,或者将abiFilters设置为仅打包32位架构:

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

}

如果您的项目中有这些库,那就是这种情况。 你可以根据你的项目进行调整。 有关更多信息,请参阅: 如何在64位Android设备上使用32位本机库,您可以查看此链接。

暂无
暂无

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

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