1.新建config.gradle(和项目的build.gradle同级)
2.接着开始配置config.gradle中的内容
//ext:添加额外的属性
//分两个部分来配置:android:目录下的项目的版本、包名、编译版本、等信息
//dependencies:目录下的android support库 我们自己引用的第三方库
ext {
android = [
compileSdkVersion : 27,
buildToolsVersion : "26.0.2",
minSdkVersion : 21,
targetSdkVersion : 27,
versionCode : 1,
versionName : "1.0"
]
version = [
supportLibraryVersion: "27.1.1",
butterknifeVersion : "8.4.0",
smartRefreshVersion : "1.1.0-alpha-19",
retrofitVersion : "2.3.0",
]
dependencies = [
//base
"appcompat-v7" : "com.android.support:appcompat-v7:${version["supportLibraryVersion"]}",
"cardview-v7" : "com.android.support:cardview-v7:${version["supportLibraryVersion"]}",
"design" : "com.android.support:design:${version["supportLibraryVersion"]}",
"constraint-layout" : "com.android.support.constraint:constraint-layout:1.1.3",
"support-v4" : "com.android.support:support-v4:${version["supportLibraryVersion"]}",
//ui
"SmartRefreshLayout" : "com.scwang.smartrefresh:SmartRefreshLayout:${version["smartRefreshVersion"]}",
"SmartRefreshHeader" : "com.scwang.smartrefresh:SmartRefreshHeader:${version["smartRefreshVersion"]}",
"banner" : "com.youth.banner:banner:1.4.10",
//di
"butterknife" : "com.jakewharton:butterknife:${version["butterknifeVersion"]}",
"butterknife-compiler" : "com.jakewharton:butterknife-compiler:${version["butterknifeVersion"]}",
//ui test
"espresso-core" : "com.android.support.test.espresso:espresso-core:3.0.2",
//unit test
"junit" : "junit:junit:4.12",
"runner" : "com.android.support.test:runner:1.0.2",
//netWork
"retrofit" :"com.squareup.retrofit2:retrofit:${version["retrofitVersion"]}",
"converter-gson" :"com.squareup.retrofit2:converter-gson:2.1.0",
"adapter-rxjava2" :"com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0",
//rx
"rxjava" : "io.reactivex.rxjava2:rxjava:2.1.5",
"rxandroid" : "io.reactivex.rxjava2:rxandroid:2.0.1",
"rxbinding" : "com.jakewharton.rxbinding2:rxbinding:2.1.0",
"rxpermissions" : "com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar",
]
}
3.在项目的build.gradle中引用
apply from: "config.gradle" //引用自己定义的config.gradle,这样使用config中的配置就可以管理所有module中的配置了.
4.在App目录下的build.gradle中使用
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'
android {
compileSdkVersion rootProject.ext.android["compileSdkVersion"]
buildToolsVersion rootProject.ext.android["buildToolsVersion"]
defaultConfig {
applicationId "com.example.wcystart.wanandroid"
minSdkVersion rootProject.ext.android["minSdkVersion"]
targetSdkVersion rootProject.ext.android["targetSdkVersion"]
versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"]
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//base
implementation rootProject.ext.dependencies["appcompat-v7"]
implementation rootProject.ext.dependencies["constraint-layout"]
implementation rootProject.ext.dependencies["design"]
implementation rootProject.ext.dependencies["cardview-v7"]
implementation rootProject.ext.dependencies["support-v4"]
//di
implementation rootProject.ext.dependencies["butterknife"]
annotationProcessor rootProject.ext.dependencies["butterknife-compiler"]
//ui
implementation rootProject.ext.dependencies["SmartRefreshLayout"]
implementation rootProject.ext.dependencies["SmartRefreshHeader"]
implementation rootProject.ext.dependencies["banner"]
//Junit test
testImplementation rootProject.ext.dependencies["junit"]
// ui test
androidTestImplementation rootProject.ext.dependencies["runner"]
androidTestImplementation rootProject.ext.dependencies["espresso-core"]
//network
implementation rootProject.ext.dependencies["retrofit"]
implementation rootProject.ext.dependencies["converter-gson"]
implementation rootProject.ext.dependencies["adapter-rxjava2"]
//rx
implementation rootProject.ext.dependencies["rxjava"]
implementation rootProject.ext.dependencies["rxandroid"]
implementation rootProject.ext.dependencies["rxbinding"]
implementation rootProject.ext.dependencies["rxpermissions"]
}
好了,这就是使用config.gradle统一管理项目的依赖的使用步骤!