英文:
.so file is 64-bit instead of 32-bit - Android Studio, Java
问题
我有一个位于jiniLibs文件夹内的.so文件...它包括以下文件夹:
"armeabi",
"arm64-v8a",
"armeabi-v7a",
"x86",
"x86_64"
...Gradle代码如下:
android {
compileSdkVersion 30
buildToolsVersion "30.0.0"
defaultConfig {
applicationId "xxx.xxx.xxx"
minSdkVersion 18
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
// 我尝试写了 abiFilters "armeabi", "arm64-v8a" , "armeabi-v7a" ,"x86", "x86_64" 但没有生效
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
}
我一直得到以下错误:
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/xxx.xxx.xxx-xxx-xxx==/lib/arm/xxx.so" is 64-bit instead of 32-bit
编辑:
我将gradle代码更改为:
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86" , "arm64-v8a"
}
packagingOptions {
exclude "lib/arm64-v8a/xxxxxxx.so"
}
但现在我得到以下错误:
.so is 64-bit instead of 32-bit
英文:
I have a .so file inside of the jiniLibs folder . . . it includes the following folders:
"armeabi",
"arm64-v8a",
"armeabi-v7a",
"x86",
"x86_64"
. . . the Gradle code:
android {
compileSdkVersion 30
buildToolsVersion "30.0.0"
defaultConfig {
applicationId "xxx.xxx.xxx"
minSdkVersion 18
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
// i tried to write abiFilters "armeabi", "arm64-v8a" , "armeabi-v7a" ,"x86", "x86_64" and did not work
abiFilters "armeabi", "armeabi-v7a", "x86"
}
}
I always get this error:
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/xxx.xxx.xxx-xxx-xxx==/lib/arm/xxx.so" is 64-bit instead of 32-bit
Edit:
I changed the gradle code to
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86" , "arm64-v8a"
}
packagingOptions {
exclude "lib/arm64-v8a/xxxxxxx.so"
}
but i get this error now
.so is 64-bit instead of 32-bit
专注分享java语言的经验与见解,让所有开发者获益!
评论