Process: com.online.bysmart, PID: 14766
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.online.bysmart-2/base.apk"],nativeLibraryDirectories=[/data/app/com.online.bysmart-2/lib/arm64, /system/lib64, /vendor/lib64]]] couldn't find "libmiio.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:984)
at java.lang.System.loadLibrary(System.java:1530)
at com.xiaomi.miio.JNIBridge.<clinit>(JNIBridge.java:6)
at com.xiaomi.miio.JNIBridge.hencrypt(Native Method)
at com.xiaomi.miio.MiioLocalAPI.get_token(MiioLocalAPI.java:779)
at com.xiaomi.miio.MiioLocalAPI$13.run(MiioLocalAPI.java:761)
at java.lang.Thread.run(Thread.java:760)========================================================================= 在我的应用程序build.gradle文件中注释:
dependencies {
compile fileTree(include:['*.jar'], dir: 'libs')
compile files('libs/miio.jar')
...
}
splits {
abi {
enable true
reset()
include 'armeabi' ,'armeabi-v7a','arm64-v8a', 'x86'
universalApk false
}
}
sourceSets {
main {
jni.srcDirs = []
jniLibs.srcDirs = ['libs']
}
}
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}根目录文件中的========================================================================= :
--libs
--arm64-v8a//folder name
--libmiio.so//file
--miio.jar//file========================================================================= In pro卫士规则.proguard:
-dontwarn com.xiaomi.**
-keep class com.xiaomi.**{*;}
-keep interface com.xiaomi.** { *;}发布于 2018-08-27 08:03:09
这些天我在网上搜索,终于找到了解决办法!如果您正在使用Android,只需编辑根文件夹中的gradle.properties并添加android.useDeprecatedNdk=true即可。然后编辑应用程序文件夹中的build.gradle文件,将abiFilters设置如下:
android {
....
defaultConfig {
....
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}}
有关更多信息,您可以在堆栈溢出上看到如何在64位Android设备上使用32位本机libaries,如何在64位Android-L平台上使用32位本机库。
您也可以检查这个帖子。
发布于 2018-08-28 06:17:23
由于我的应用程序build.gradle配置,找到了根本原因:
splits {
abi {
enable true
reset()
include 'armeabi' ,'armeabi-v7a','arm64-v8a'
universalApk false
}
}但是在我的libs文件夹中,我不配置armeabi文件夹
https://stackoverflow.com/questions/52034768
复制相似问题