yangbo437993234
IyangcLove
采纳率100%
2016-07-19 09:31 阅读 8.0k
已采纳

"*.so" has unexpected e_machine: 40

100

java.lang.UnsatisfiedLinkError: dlopen failed: "*/*/*.so" has unexpected e_machine: 40
android JNI so包问题。在一些设备上崩溃报错。一些设备上是可以正常使用的。
网上查找了很多资料感觉都不管用啊,请知道的前辈们能告诉我问题的原因 和解决的方法 谢谢了 比较急 在线等!图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    Moluth Moluth 2016-07-20 08:58

    D:\ttt\native-audio>ndk-build
    [arm64-v8a] Compile : native-audio-jni <= native-audio-jni.c
    [arm64-v8a] SharedLibrary : libnative-audio-jni.so
    [arm64-v8a] Install : libnative-audio-jni.so => libs/arm64-v8a/libnative-audio-jni.so
    [x86_64] Compile : native-audio-jni <= native-audio-jni.c
    [x86_64] SharedLibrary : libnative-audio-jni.so
    [x86_64] Install : libnative-audio-jni.so => libs/x86_64/libnative-audio-jni.so
    [mips64] Compile : native-audio-jni <= native-audio-jni.c
    [mips64] SharedLibrary : libnative-audio-jni.so
    [mips64] Install : libnative-audio-jni.so => libs/mips64/libnative-audio-jni.so
    [armeabi-v7a] Compile thumb : native-audio-jni <= native-audio-jni.c
    [armeabi-v7a] SharedLibrary : libnative-audio-jni.so
    [armeabi-v7a] Install : libnative-audio-jni.so => libs/armeabi-v7a/libnative-audio-jni.so
    [armeabi] Compile thumb : native-audio-jni <= native-audio-jni.c
    [armeabi] SharedLibrary : libnative-audio-jni.so
    [armeabi] Install : libnative-audio-jni.so => libs/armeabi/libnative-audio-jni.so
    [x86] Compile : native-audio-jni <= native-audio-jni.c
    [x86] SharedLibrary : libnative-audio-jni.so
    [x86] Install : libnative-audio-jni.so => libs/x86/libnative-audio-jni.so
    [mips] Compile : native-audio-jni <= native-audio-jni.c
    [mips] SharedLibrary : libnative-audio-jni.so
    [mips] Install : libnative-audio-jni.so => libs/mips/libnative-audio-jni.so

    点赞 1 评论 复制链接分享
  • Moluth Moluth 2016-07-19 11:27

    这是因为不同的机器的.so文件不能运行,so文件不像java那样可以跨平台,所以为了兼容多个机器,就要在不同的机器下编译so,或者采用交叉编译,产生多份so,以实现跨平台

    点赞 1 评论 复制链接分享
  • Moluth Moluth 2016-07-20 09:04

    图片说明

    你看这个图片,里面有众多类型芯片的so

    点赞 1 评论 复制链接分享
  • CSDNXIAOS Robot-S 2016-07-19 09:42

    最近几个写android有问到  dlopen failed: "*.so" has unexpected e_machine 错误,现给出解决方案:

     readelf -h *.so 看一下头 , 如果是写android的so库,一般肯定包含一下信息

    Class=ELF32
    Machine......
    答案就在这里:dlopen failed: "*.so" has unexpected e_machine
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    点赞 评论 复制链接分享

相关推荐