> 我們在項目開發(fā)的過程中,通常會使用一些系統(tǒng)組件的依賴和第三方的輪子专筷,為了方便我們管理這些輪子,我們可以為項目引入config.gradle文件去同意管理項目中的依賴
-
在項目的根目錄下創(chuàng)建config.gradle文件
config.gradle.png - 編輯 config.gradle浸锨,定義項目依賴
在app的build.gradle中聘芜,我們通常需要配置兩個部分
- Android 目錄下的項目的版本/包名/編譯版本等信息
- dependencies 目錄下的安卓Support庫和我們自己引用的第三方庫
所以通常我們在config.gradle文件也將依賴分成兩個部分 android/dependencies
ext {
android = [
compileSdkVersion : 28,
buildToolsVersion : "28.0.0",
applicationId : "com.will.weiyue",
minSdkVersion : 19,
targetSdkVersion : 28,
versionCode : 1,
versionName : "1.0"
]
//因為support庫都是同一個版本仿耽,單獨拎出來夯缺,方便修改
dependVersion = [
support: "28.0.0-alpha3"
]
dependencies = [
// android-support
"support-v4" : "com.android.support:support-v4:${dependVersion.support}",
"appcompat-v7" : "com.android.support:appcompat-v7:${dependVersion.support}",
"design" : "com.android.support:design:${dependVersion.support}",
"recyclerview" : "com.android.support:recyclerview-v7:${dependVersion.support}",
"cardview" : "com.android.support:cardview-v7:${dependVersion.support}",
]
}
- 在 項目的 build.gradle文件中引用config.gradle文件
// 在項目build.gradle文件的最外層添加引用
apply from: "config.gradle"
- 修改app的build.gradle文件中的項目引用
// 將android 和 dependencies下的引用都指向 config.gradle
// rootProject.ext.android/dependencies config.gradle文件的路徑
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
defaultConfig {
applicationId rootProject.ext.android.applicationId
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'])
implementation rootProject.ext.dependencies["appcompat-v7"]
implementation rootProject.ext.dependencies["constraint-layout"]
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
END 趕緊去試試吧@凇!