AndroidStudio如何引入第三方jar包,aar包,so文件,如何保留指定的so库
1.将第三方的jar,aar包,so文件放到AndroidStudio指定libs目录下
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文件会被引入到项目中)
2.2.引入so文件
在build.gradle文件里的android下添加:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
即可引入libs目录下的armeabi-v7a,arm64-v8a 里的so文件
2.3 保留指定类型的so文件
如果想只保留指定的armeabi-v7a下的so文件需要在build.gradle配置文件下的android下的defaultConfig里添加
ndk {
abiFilters 'armeabi-v7a'
}
如果需要保留多种类型,只需在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' }