这是these instructions,当我尝试使用android jni示例时,我得到has unexpected e_machine
,完整的步骤是:
$ /media/roroco/disk750/adr/android-ndk-r10e/ndk-buil
并获得以下输出
Process: com.mamlambo.sample.ndk1, PID: 5560
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.mamlambo.sample.ndk1-1/lib/arm/libndk1.so" has unexpected e_machine: 40
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:988)
at com.mamlambo.sample.ndk1.AndroidNDK1SampleActivity.<clinit>(AndroidNDK1SampleActivity.java:35)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1606)
答案 0 :(得分:5)
我找到解决方案,原因是我使用genymotion并安装genymotion armtranslation,armtranslation有bug,所以我应该将c构建到x86设备,步骤是:
答案 1 :(得分:0)
使用Visual Studio for Mac我在构建应用程序的发行版本时使用ARM转换在Genymotion上运行时会出现类似的错误。 {{1}}
我通过以下步骤解决了这个问题:
右键单击项目名称
选择选项
选择构建
选择 Android Build
将配置更改为发布(有效)
转到高级标签,在支持的ABI