【发布时间】:2017-06-28 12:32:31
【问题描述】:
我的应用可以在 Nexus 5、摩托罗拉 Moto G4 和电视盒性 Minix Neo-X9 上运行。 但是当我尝试在 LG G5 或 LeEco Le2 上运行它时,我遇到了以下问题:
06-28 14:24:14.869: E/AndroidRuntime(7264): FATAL EXCEPTION: main
06-28 14:24:14.869: E/AndroidRuntime(7264): Process: com.vidyo.vidyomod, PID: 7264
06-28 14:24:14.869: E/AndroidRuntime(7264): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.vidyo.vidyomod-1/base.apk"],nativeLibraryDirectories=[/data/app/com.vidyo.vidyomod-1/lib/arm64, /data/app/com.vidyo.vidyomod-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libVidyoClientApp.so"
06-28 14:24:14.869: E/AndroidRuntime(7264): at java.lang.Runtime.loadLibrary(Runtime.java:367)
06-28 14:24:14.869: E/AndroidRuntime(7264): at java.lang.System.loadLibrary(System.java:1076)
06-28 14:24:14.869: E/AndroidRuntime(7264): at com.vidyo.VidyoClientLib.LmiAndroidAppJni.<clinit>(LmiAndroidAppJni.java:692)
06-28 14:24:14.869: E/AndroidRuntime(7264): at java.lang.Class.newInstance(Native Method)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.Instrumentation.newApplication(Instrumentation.java:1001)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.Instrumentation.newApplication(Instrumentation.java:986)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.LoadedApk.makeApplication(LoadedApk.java:582)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5116)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.ActivityThread.-wrap2(ActivityThread.java)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1628)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.os.Handler.dispatchMessage(Handler.java:111)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.os.Looper.loop(Looper.java:207)
06-28 14:24:14.869: E/AndroidRuntime(7264): at android.app.ActivityThread.main(ActivityThread.java:5917)
06-28 14:24:14.869: E/AndroidRuntime(7264): at java.lang.reflect.Method.invoke(Native Method)
06-28 14:24:14.869: E/AndroidRuntime(7264): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
06-28 14:24:14.869: E/AndroidRuntime(7264): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
代码是一样的,怎么在手机上能用,在别的手机上不能用? 我的意思是,它在某些方面完美运行库,而在其他方面则不然。我测试过,例如乐视是 6.00,而 Nexus 5 是 6.0.1。所以我认为这不是 Android 操作系统的问题
在我的 jniLibs 文件夹中,我有这个: jniLibs->armeabi-v7a->libVidyoClientApp.so
我是否还需要一个文件夹,例如:jniLibs->arm64-v8a -> libVidyoClientApp.so 或类似的东西? 因为这条线而问:
/data/app/com.vidyo.vidyomod-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libVidyoClientApp.so"
在我的 build.gradle 我有这个:
sourceSets.main {
jni.srcDirs = []
jniLibs.srcDir 'src/main/libs'
}
【问题讨论】:
-
什么是
libVidyoClientApp.so? -
这是一个本地库文件,我已将其包含在我的库文件中。
-
我在度假,在它工作之前,我一个接一个地检查了我的同事所做的提交,我发现了这个问题。检查我的回复
标签: android android-ndk dalvik renderscript unsatisfiedlinkerror