android studio so包 java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol 问题

原因: 
AndroidStudio生成so时,由于compileSdkVersion、targetSdkVersion版本过高,与ndk版本不匹配。 
ndk生成的so是向上兼容的,而不是向下兼容。

所以目前只能降低编译生成so的版本。。。。

解决办法: 

这里写图片描述

主要就是修改build.gradle文件下的targetSdkVersion,小于23就可以,其他的不需要修改。

android {

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.glodon.wcm"
        minSdkVersion 11
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

这样就可以了。。。。。。。。。


你可能感兴趣的:(编程中问题解决方案)