Android 华硕ZenFone 5没有';无法加载正确的so文件

Android 华硕ZenFone 5没有';无法加载正确的so文件,android,android-ndk,android-x86,Android,Android Ndk,Android X86,我的Android应用程序,在NDK构建的.so文件中,在华硕ZenFone 5设备上崩溃,就像这个链接中的问题一样 似乎ARM-to-x86转换器libhoudini.so在某些条件下无法工作,因此我尝试在我的应用程序中直接提供x86arch.so文件 APK可以在大多数x86设备上运行,包括x86模拟器。但是,在此设备上,我遇到了一个问题: java.lang.UnsatifiedLink错误:无法从加载程序dalvik.system.PathClassLoader[DexPathList[

我的Android应用程序,在NDK构建的.so文件中,在华硕ZenFone 5设备上崩溃,就像这个链接中的问题一样

似乎ARM-to-x86转换器libhoudini.so在某些条件下无法工作,因此我尝试在我的应用程序中直接提供
x86
arch.so文件

APK可以在大多数x86设备上运行,包括x86模拟器。但是,在此设备上,我遇到了一个问题:

java.lang.UnsatifiedLink错误:无法从加载程序dalvik.system.PathClassLoader[DexPathList[[zip文件”/data/app/com.myapp-1.apk],NativeLibraryDirectory=[/data/app-lib/com.myapp-1,/vendor/lib,/system/lib,/system/lib,/system/lib/arm]]加载游戏:findLibrary返回null

这个基于Intel Atom的设备似乎忽略了APK文件中的
lib/x86
文件夹


如何使此设备使用right arch加载right so文件?

确保您拥有x86版本的所有内容,而不仅仅是一个
。so
。这包括您从第三方库中获取的任何内容。我相信一切都准备好了。因为同一个APK可以在其他x86设备上运行,包括x86模拟器。在Zenfone 5上,如果包管理器发现您的APK中有ARM LIB,但其中没有x86版本,那么它将退回到使用ARM LIB,因为存在很高的崩溃风险。此行为与emulator和其他一些设备中的行为不同。@ph0b您的意思是,一旦存在
arm
。那么在APK中,无论它是什么,设备都会忽略所有其他
x86
。所以文件?我试图提供
arm
x86
两个文件,但在ZenFone设备上都不起作用。@jayatubi否,我的意思是如果有arm。因此,在APK中,设备将只安装具有相同名称的x86.so文件的x86 libs。如果有armeabi-v7a/libfoo.so和armeabi-v7a/libbar.so,那么APK中还必须有x86/libfoo.so和x86/libbar.so。