两个本机库具有不同的 cpu 架构集
Two native libraries has different cpu architecture set
在我的项目中,我有一个 armeabi, mips, x86
的本地共享库,它在所有设备上都运行良好(例如 lib1.so)。现在我添加了不同的本机库,它有一组适用于所有架构的库 (armeabi, armeabi-v7a, arm64-v8a, mips, x86, x86_64
)。例如。 lib2.so。
它在某些设备上给了我 java.lang.UnsatisfiedLinkError
。例如,它试图从 armeabi-v7a
加载,但对于此 cpu 架构没有 lib1.so。
如何让它针对不同的库加载不同的内容?或者我可以将第一个 lib1.so 文件复制到不同的体系结构。但是我应该把哪个文件夹复制到其他文件夹呢?
您只需要在应用程序 gradle 文件中添加以下内容
android {
defaultConfig {
ndk {
abiFilters "armeabi" , "mips", "x86 "
}
}
}
在我的项目中,我有一个 armeabi, mips, x86
的本地共享库,它在所有设备上都运行良好(例如 lib1.so)。现在我添加了不同的本机库,它有一组适用于所有架构的库 (armeabi, armeabi-v7a, arm64-v8a, mips, x86, x86_64
)。例如。 lib2.so。
它在某些设备上给了我 java.lang.UnsatisfiedLinkError
。例如,它试图从 armeabi-v7a
加载,但对于此 cpu 架构没有 lib1.so。
如何让它针对不同的库加载不同的内容?或者我可以将第一个 lib1.so 文件复制到不同的体系结构。但是我应该把哪个文件夹复制到其他文件夹呢?
您只需要在应用程序 gradle 文件中添加以下内容
android {
defaultConfig {
ndk {
abiFilters "armeabi" , "mips", "x86 "
}
}
}