第一种 {#第一种}
-
引用libs目录下所有的
jar
或aar
包
直接在dependencies
加入以下代码,可以将libs目录下的所有jar和aar文件导入|-----------|---------------------------------------------------------------------------| |
1
|implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|此种方式简单粗暴,但是不允许同时出现同一模块不同编译类型的jar(或aar),例如:如果
libs
同时存在test-release.aar
和test-debug.aar
,他们都是来自同一个module的打包,但是只是编译类型不一样,如果同时存在的话会编译不过。 -
特定引用libs目录下的名字为xxx的jar包
|---------------|---------------------------------------------------------------| |
1 2 3
|dependencies { implementation files('libs/xxx.jar') }
|
第二种 {#第二种}
-
在模块的gradle中添加目标位置
|-----------------------|---------------------------------------------------------------| |
1 2 3 4 5 6 7
|android { repositories { flatDir { dirs: 'libs' } } }
| -
在dependencies中添加
|-------------|-------------------------------------------------------------------------------------| |
1 2
|implementation(name:'xxx', ext:'aar') implementation(name:'xxx', ext:'jar')
|或者
|---------------|---------------------------------------------------------------| |
1 2 3
|dependencies { implementation files('libs/xxx.aar') }
|
完整版 {#完整版}
在module如上依赖就会产生问题,所以按照如下方法:
在allprojects
中加入flatDir
,然后再去项目中引用即可。
|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| allprojects { repositories { google() mavenCentral() jcenter() flatDir { dirs project(':base_lib').file('libs') //base_lib为引入aar文件的module名 } } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:base_lib/libs/framework.jar') } } }
|
|---------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| apply plugin: 'com.android.application' android { compileSdkVersion 27 defaultConfig { applicationId "com.noahedu.testtouch" minSdkVersion 22 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } repositories{ flatDir{ dirs 'libs' } } } dependencies { implementation (name:'app-release',ext:'aar') implementation(name: 'appcompat-v7-25.3.1', ext: 'aar') //support v4 implementation files('libs/support-annotations-25.3.1.jar') implementation files('libs/support-compat-25.3.1.jar') implementation files('libs/support-core-ui-25.3.1.jar') implementation files('libs/support-fragment-25.3.1.jar') implementation files('libs/support-media-compat-25.3.1.jar') implementation files('libs/support-core-utils-25.3.1.jar') //support v7 implementation files('libs/support-vector-drawable-25.3.1.jar') implementation files('libs/support-animated-vector-drawable-25.3.1.jar') }
|