在Android 開發(fā)中如果使用的是多Module開發(fā)逐沙,配置文件的配置是一個問題洼畅,如果不統(tǒng)一配置就會導(dǎo)致版本不統(tǒng)一而引發(fā)一些問題。下面是我們開發(fā)中的一些經(jīng)驗(yàn)希望對你有幫助帝簇。
先看一下丧肴,常規(guī)的配置:
//項(xiàng)目的基本配置
defaultConfig {
applicationId "com.example.lyxs9.androidthreaddemo"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
}
//引用庫的配置
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
更改后的的配置:
//項(xiàng)目的基本配置
defaultConfig {
minSdkVersion defaultArray.minSdkVersion
targetSdkVersion defaultArray.targetSdkVersion
applicationId rootProject.ext.applicationId
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
}
//引用庫的配置
implementation libs.appcompat
implementation libs.design
implementation libs.constraint
更改后的與更改前區(qū)別就是配置都指向了同一個配置文件。
操作步驟如下:
1. 新一個配置文件config.gradle
這個文件可以在任意地方抱环,如項(xiàng)目中或電腦里或網(wǎng)上,如果是共享最好放在網(wǎng)上方便多人開發(fā)镇草。
ext {
supportLibraryVersion = "27.1.1"
constraintLibraryVersion = "1.1.2"
defaultConfig = [
compileSdkVersion: 27,
minSdkVersion : 19,
targetSdkVersion : 27
]
dependencies = [
appcompat : "com.android.support:appcompat-v7:${supportLibraryVersion}",
design : "com.android.support:design:${supportLibraryVersion}",
constraint: "com.android.support.constraint:constraint-layout:${constraintLibraryVersion}"
]
}
2. 在項(xiàng)目build.gradle中引用
//引用配置文件
apply from: file('config.gradle')
注意文件的位置與引用方式
//網(wǎng)絡(luò)地址(行程地址)
apply from: 'http://gitlab.ops.*****.so/android_cashier/mvn-repo/raw/oldDev/config.gradle'
//本機(jī)地址(絕對路徑)
apply from: file('D:\\MyAndroidStudioProjects\\****\\*****\\mvn\\mvn-repo\\mvn-repo\\config.gradle')
//在同一個包下(相對路徑)
apply from: file('gradle-mvn-push.gradle')
3. 對于經(jīng)常變動的可以在項(xiàng)目 build.gradle配置
ext {
MY_VERSION_NAME = "8888888"
applicationId = "com.example.lyxs9.androidgradletest"
versionCode = 1
versionName = "1.0"
}
4. 在module build.gradle使用
//聲明引用庫的變量
def libs = rootProject.ext.dependencies
//聲明引用配置的變量
def defaultArray = rootProject.ext.defaultConfig
如果所這個配置文件放在陶夜,你們的maven庫中,每個項(xiàng)目就可以引用同一個配置文件了黔夭,這樣就能夠統(tǒng)一管理羽嫡,以上希望對你有幫助。