libhoudini中的Android System.loadLibrary崩溃(x86上的ARM转换器)

libhoudini中的Android System.loadLibrary崩溃(x86上的ARM转换器),android,x86,java-native-interface,arm,Android,X86,Java Native Interface,Arm,当在x86 Android上运行时,My.so JNI库导致Android应用程序在加载时崩溃(调用System.loadLibrary)。在手臂上,它工作得很好 logcat中的错误是: 胡迪尼﹕ [12251]不支持的功能(ID:0x20e00149) Houdini是x86的ARM翻译器,所以我可能使用了一些无法翻译的东西 很明显,我可以修改我的库的代码。所以,也许我可以改变任何问题,但如何调查呢?我怎么知道我的代码的哪一部分导致了问题 哦,顺便问一下,是否有来自的代码。所以在加载时运行?

当在x86 Android上运行时,My.so JNI库导致Android应用程序在加载时崩溃(调用System.loadLibrary)。在手臂上,它工作得很好

logcat中的错误是: 胡迪尼﹕ [12251]不支持的功能(ID:0x20e00149)

Houdini是x86的ARM翻译器,所以我可能使用了一些无法翻译的东西

很明显,我可以修改我的库的代码。所以,也许我可以改变任何问题,但如何调查呢?我怎么知道我的代码的哪一部分导致了问题


哦,顺便问一下,是否有来自的代码。所以在加载时运行?可能是一些变量初始值设定项?

一些互联网搜索显示libhoundini是专有代码(请供应商提供支持

但是,与所有java本机库一样,
它可能有一个onload功能。
类似于:
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM*jvm,void*reserved)


因此,可能是它导致了问题,因为它是在加载库时执行的。

您使用了一些NEON代码吗?某些指令集不可用。在加载SO库的过程中可以执行更多的代码-请考虑通常负责静态变量初始化的.init_数组。