java.lang.UnsatisfiedLinkError

刚报了一个错误

java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/xx/lib/arm/libxx.so: has text relocations

看这意思是找不到相关的so文件。 

两个程序,一份能正常运行,但是另外一份却不能正常运行。

查了很久资料,从libs文件夹的so文件入手,再到对比两个gradle文件都没发现有什么问题。后来比较了一下,两份代码的build.gradle文件有点不一样。关键不同的地方就是

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"
    defaultConfig {
        applicationId "xxx.xxx"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 15
        versionName "00.01.03"
    }
 }

不能运行的gradle文件的targetSdkVersion是 24,能正常运行的gradle文件的是22,我降低了数值为22之后,程序正常运行。

经推测,原因应该是相关so文件不支持版本22以上。

posted @ 2018-07-12 15:42  吖科  阅读(2774)  评论(0编辑  收藏  举报