日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理

發(fā)布時(shí)間:2024/9/27 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在我們的實(shí)際項(xiàng)目開發(fā)中,通常在一個(gè) Project 項(xiàng)目中會(huì)存在多個(gè) Module 的情況,在這些 Module 中會(huì)存在一些相同的版本依賴配置,針對(duì)進(jìn)行版本升級(jí)的時(shí)候需要逐個(gè)修改,顯得特別麻煩,所以將依賴的配置抽取出來(lái)是一個(gè)不錯(cuò)的想法。

1. 項(xiàng)目結(jié)構(gòu)

通常我們的項(xiàng)目在 Project 模式的下結(jié)構(gòu)是:

rootProject

--module1

--build.gradle

--module2

--build.gradle

...

--build.gradle

所以針對(duì)各個(gè) Module 的統(tǒng)一管理,我們可以在 Project 的根目錄 build.gradle 中進(jìn)行配置,或者通過(guò)新建一個(gè) config.gradle 配置來(lái)完成。

2. 在 Project 的 build.gradle 中配置

build.gradle 是針對(duì)整個(gè) Project 級(jí)別的配置,所以在 build.gradle 中進(jìn)行配置讓每個(gè) Module 去讀取配置。

根目錄 build.gradle 配置

新建 config.gradle 進(jìn)行配置

2.1 根目錄 build.gradle 配置

在 Android Studio 中的 .gradle 中支持 Groovy 語(yǔ)言,所以我們的配置起始就是有點(diǎn)類似于 Java 中的存儲(chǔ)配置變量。

在 Gradle DSL 中通過(guò) Project.ext 進(jìn)行 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'

}

}

}

這樣就可以引用了,非常簡(jiǎn)單。但是這樣如果配置量比較大,在根目錄的 build.gradle 中進(jìn)行配置就顯得可讀性非常差,所以就會(huì)使用方式二進(jìn)行配置。

2.2 新建 config.gradle 進(jìn)行配置

通過(guò)新建配置文件進(jìn)行配置,形成如下目錄:

rootProject

--module1

--build.gradle

--module2

--build.gradle

...

--build.gradle

--config.gradle

1. 選中項(xiàng)目,右鍵新建 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 的配置中引用

引用配置腳本文件通過(guò) apply from:xx,需要注意的就是 .gradle 文件的位置,同級(jí)目錄我們直接寫文件名稱即可,不同目錄需要使用相對(duì)路徑。

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'

}

}

}

以后再對(duì)依賴包升級(jí)的時(shí)候直接修改 config.gradle 文件就 OK 了。

3. 綜述

縱觀上面的方式,核心思想就是保存配置的數(shù)據(jù),所以不一定非要選擇在 .gradle 文件中,只要方便使用就行。比如可以放在 gradle.properties中。注意 .properties 文件中存儲(chǔ)的是鍵值對(duì) key-value 形式。

gradle.properties

key = "I'm from gradle.properties"

在 Module 的 build.gradle 新建一個(gè) Task 進(jìn)行測(cè)試下:

task readConfig{

doLast{

println key

}

}

同樣可以進(jìn)行配置數(shù)據(jù)的讀取。

總結(jié)

以上是生活随笔為你收集整理的android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。