Android小白,近期运行公司项目发现出现这个报错:java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.jyx.tech.yipark/files/libs/libBaiduMapSDK_base_v4_5_2.so" has unexpected e_machine: 40 (EM_ARM),找了很久还是没有找到原因,大神帮忙,感激不尽!!

解决方案 »

  1.   

    看看你代码 lib路径下有这个so库没
      

  2.   

    运行程序的设备 没有对应  ABI 类型 的 so 库 ;  也可能是 Gradle 配置的 abi 与 你提供的 so 库 不匹配 ; 检查下 gradle 的 ndk 配置, 看看 都配置了 哪些 ABI 类型 : abiFilters "armeabi-v7a", "x86" , "arm64-v8a" , "x86_64"参考 ; https://stackoverflow.com/questions/34504838/genymotion-arm-translation-lib-arm-libndk-so-has-unexpected-e-machine-40
      

  3.   

    看一下你工程libs目录下的目录结构,才可以继续判断问题所在,类似于这样的:
    arm64-v8a  armeabi  armeabi-v7a  BaiduLBS_Android.jar  x86  x86_64