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

时间:2015-05-21 16:40:51

标签: android x86 java-native-interface arm

我的.so JNI库导致Android应用程序在x86 Android上运行时在加载时崩溃(调用System.loadLibrary)。在ARM上,它工作正常。

logcat中的错误是: houdini:[12251]不支持的功能(ID:0x20e00149)。

Houdini是x86的ARM翻译器,所以我可能正在使用无法翻译的内容。

显然我可以修改我的.so库的代码。也许我可以改变任何问题,但是如何调查呢?我怎么知道我的代码的哪个部分导致了这个问题?

哦,顺便说一句,.so的任何代码都是在加载时运行的吗?也许一些变量初始化器?

1 个答案:

答案 0 :(得分:0)

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

但是,就像所有java本地库一样,
它可以有一个onload功能 类似于:JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
所以,探究它是导致问题的原因,因为它是在加载库时执行的。