AndroidStudio 导包遇到so文件的解决方案----------JPush推送

最近遇到 Couldn't load jpush175 from loader dalvik.system.PathClassLoader 这样一个问题 

它说的是AS不能找到库文件

发生在于像Eclipse 嵌入极光推送等 第三方包的情况

AS 是不能直接识别这些文件的

如果是.jar文件  则需要拷贝到libs文件夹的同事 邮件 有一个add library选项 进行添加 (也可能是 is library选项或其他)

如果是.so文件 则需要修改build.gradle 

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
defaultConfig {
        applicationId "cn.ninebot.ninebot"
minSdkVersion 18
        targetSdkVersion 22
        versionCode 2
        versionName "3.0.0.5"
}
    buildTypes {
        release {
            minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
    }
    sourceSets.main{
        //AS识别libs下的.so第三方包
jniLibs.srcDirs =['libs']
    }
}

dependencies {
//    compile fileTree(dir: 'libs', include: ['*.jar'])
    //AS识别libs下的.so第三方包
compile fileTree(dir: 'libs', include: ['**.*'])
  
}

将这两处做好以后 重新运行程序 OK 该异常解决

原文地址:https://www.cnblogs.com/bimingcong/p/4936279.html