一般我們?cè)陧?xiàng)目中的gradle會(huì)添加如下庫(kù)文件
dependencies {
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'com.android.support:pallete-v7:23.1.0'
compile 'com.android.support:cardview-v7:23.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
}
所以每次升級(jí)的時(shí)候都要修改后面的23.1.0版本號(hào),Android開(kāi)發(fā)小組的Chris Banes想出了這樣的一個(gè)方法,不用每次修改每個(gè)版本,而只需要修改一次就行了,如下
ext {
supportLibVersion = "23.1.1"
}
dependencies {
compile "com.android.support:appcompat-v7:${supportLibVersion}"
compile "com.android.support:design:${supportLibVersion}"
compile "com.android.support:recyclerview-v7:${supportLibVersion}"
compile "com.android.support:cardview-v7:${supportLibVersion}"
}
但是有個(gè)注意點(diǎn):
compile 'com.android.support:appcompat-v7:${supportLibVersion}'
上面這種寫(xiě)法不對(duì)
compile "com.android.support:appcompat-v7:${supportLibVersion}"
這種寫(xiě)法才是正確的
上面這種方式,如果有新版本,Android Studio還是會(huì)提醒你的,所以放心的去用吧!
2018.1.16更新
今天使用 material-dialogs 的時(shí)候發(fā)現(xiàn)一個(gè)bug,就把原工程下載下來(lái)編譯安裝查看,意外發(fā)現(xiàn)新的姿勢(shì)。在工程最外層目錄新建文件 dependencies.gradle
里面寫(xiě):
ext.versions = [
publishVersion : '2.0.3',
publishVersionCode: 33,
minSdk : 15,
compileSdk : 27,
buildTools : '27.0.3',
gradlePlugin : '3.0.1',
kotlin_version : '1.2.0',
realm : '3.1.4',
supportLib : '27.0.2',
mdDialog : '0.9.6.0',
rxJava : '2.1.8',
rxAndroid : '2.0.1',
rxPermission : '0.9.5@aar'
]
然后,如果你在app/build.gradle中引用,首先在app/build.gradle文件里最上面“導(dǎo)包”:
apply from: '../dependencies.gradle'
然后就可以通過(guò)這樣的方式引用:
android {
compileSdkVersion versions.compileSdk
buildToolsVersion versions.buildTools
defaultConfig {
...
minSdkVersion versions.minSdk
targetSdkVersion versions.compileSdk
versionCode versions.publishVersionCode
versionName versions.publishVersion
vectorDrawables.useSupportLibrary = true
}
...
}
dependencies {
implementation 'com.android.support:appcompat-v7:' + versions.supportLib
implementation 'com.android.support:design:' + versions.supportLib
implementation 'com.android.support:recyclerview-v7:' + versions.supportLib
implementation 'com.android.support:cardview-v7:' + versions.supportLib
implementation 'com.afollestad.material-dialogs:core:' + versions.mdDialog
implementation 'com.afollestad.material-dialogs:commons:' + versions.mdDialog
implementation 'io.reactivex.rxjava2:rxjava:' + versions.rxJava
implementation 'io.reactivex.rxjava2:rxandroid:' + versions.rxAndroid
implementation 'com.tbruyelle.rxpermissions2:rxpermissions:' + versions.rxPermission
}
感覺(jué)蠻666的,基本不用修改app里和外層的gradle文件,只需修改dependencies.gradle就可以了。如果還不懂,去看人家的項(xiàng)目:material-dialogs