AndroidStudio如何引入第三方jar包,aar包,so文件,并保留指定类型的so库

             AndroidStudio如何引入第三方jar包,aar包,so文件,如何保留指定的so库

1.将第三方的jar,aar包,so文件放到AndroidStudio指定libs目录下

 

AndroidStudio如何引入第三方jar包,aar包,so文件,并保留指定类型的so库_第1张图片 图 一

​​​​​​

2. 在build.gradle文件里配置信息引用aar,jar,so文件

    2.1 引入aar和jar文件

    在build.gradle文件里的dependencies下添加:

    implementation fileTree(dir: 'libs/ads', include: ['*.jar','*.aar'])  会引入libs目录下的ads文件夹里的所有jar,aar文件

    修改 implementation fileTree(dir: 'libs', include: ['*.jar']) ,在include里的 '*.jar' 后添加 '*.aar'

    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])   会引入libs目录下的所有jar,aar文件(如下msa_mdid_1.0.13.aar,vivounionsdk_v4.6.0.1.jar文件会被引入到项目中)

 

AndroidStudio如何引入第三方jar包,aar包,so文件,并保留指定类型的so库_第2张图片 图 二

 

  2.2.引入so文件

 在build.gradle文件里的android下添加:

sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}

 即可引入libs目录下的armeabi-v7a,arm64-v8a 里的so文件

 

AndroidStudio如何引入第三方jar包,aar包,so文件,并保留指定类型的so库_第3张图片 图 三

 

2.3 保留指定类型的so文件

如果想只保留指定的armeabi-v7a下的so文件需要在build.gradle配置文件下的android下的defaultConfig里添加

ndk {
    abiFilters 'armeabi-v7a'
}
AndroidStudio如何引入第三方jar包,aar包,so文件,并保留指定类型的so库_第4张图片 图 四

如果需要保留多种类型,只需在abiFilters 'armeabi-v7a'后添加其他类型如下:

ndk {
    abiFilters 'armeabi-v7a','arm64-v8a'
}

完整的配置参数如下:

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    defaultConfig {
        applicationId "com.ss.android.cms"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk {
            abiFilters 'armeabi-v7a'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

}

dependencies {

    implementation fileTree(dir: 'libs/ads', include: ['*.jar','*.aar'])
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

 

 

你可能感兴趣的:(android,jar)