android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理
在我們的實際項目開發中,通常在一個 Project 項目中會存在多個 Module 的情況,在這些 Module 中會存在一些相同的版本依賴配置,針對進行版本升級的時候需要逐個修改,顯得特別麻煩,所以將依賴的配置抽取出來是一個不錯的想法。
1. 項目結構
通常我們的項目在 Project 模式的下結構是:
rootProject
--module1
--build.gradle
--module2
--build.gradle
...
--build.gradle
所以針對各個 Module 的統一管理,我們可以在 Project 的根目錄 build.gradle 中進行配置,或者通過新建一個 config.gradle 配置來完成。
2. 在 Project 的 build.gradle 中配置
build.gradle 是針對整個 Project 級別的配置,所以在 build.gradle 中進行配置讓每個 Module 去讀取配置。
根目錄 build.gradle 配置
新建 config.gradle 進行配置
2.1 根目錄 build.gradle 配置
在 Android Studio 中的 .gradle 中支持 Groovy 語言,所以我們的配置起始就是有點類似于 Java 中的存儲配置變量。
在 Gradle DSL 中通過 Project.ext 進行 Extra Properties(額外屬性)
build.gradle
rootProject.ext{
android = [
compileSdkVersion : 28,
buildToolsVersion : "28.0.0",
applicationId : "sw.andoter.com.gradleplugindemo",
minSdkVersion : 15,
targetSdkVersion : 28,
versionCode : 1,
versionName : "1.0"
]
sdkVersion = 13
}
在具體的 Module 中使用:
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'
}
}
}
這樣就可以引用了,非常簡單。但是這樣如果配置量比較大,在根目錄的 build.gradle 中進行配置就顯得可讀性非常差,所以就會使用方式二進行配置。
2.2 新建 config.gradle 進行配置
通過新建配置文件進行配置,形成如下目錄:
rootProject
--module1
--build.gradle
--module2
--build.gradle
...
--build.gradle
--config.gradle
1. 選中項目,右鍵新建 Gradle Script 腳本配置
config.gradle
rootProject.ext{
android = [
compileSdkVersion : 28,
buildToolsVersion : "28.0.0",
applicationId : "sw.andoter.com.gradleplugindemo",
minSdkVersion : 15,
targetSdkVersion : 28,
versionCode : 1,
versionName : "1.0"
]
sdkVersion = 13
}
在 Module 的配置中引用
引用配置腳本文件通過 apply from:xx,需要注意的就是 .gradle 文件的位置,同級目錄我們直接寫文件名稱即可,不同目錄需要使用相對路徑。
Module 的 build.gradle
apply from : "../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'
}
}
}
以后再對依賴包升級的時候直接修改 config.gradle 文件就 OK 了。
3. 綜述
縱觀上面的方式,核心思想就是保存配置的數據,所以不一定非要選擇在 .gradle 文件中,只要方便使用就行。比如可以放在 gradle.properties中。注意 .properties 文件中存儲的是鍵值對 key-value 形式。
gradle.properties
key = "I'm from gradle.properties"
在 Module 的 build.gradle 新建一個 Task 進行測試下:
task readConfig{
doLast{
println key
}
}
同樣可以進行配置數據的讀取。
總結
以上是生活随笔為你收集整理的android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特殊教育学校计算机教学计划,2021年特
- 下一篇: imclearboder matlab,