Android gradle 中统一配置引用库版本的技巧
2019-07-11 本文已影响0人
wuchao226
在 Project/build.gradle 中定义,在 module/build.gradle 中使用
一、在 xxx.gradle 中定义和引用
在 Project 层级下新建 config.gradle 文件(这里的config可以替换为任何你喜欢的名字),在里面书写配置信息:
ext {
//support
compileSdkVersion = 28
minSdkVersion = 19
targetSdkVersion = 28
supportLibVersion = "28.0.0"
//http
retrofitLibVersion = "2.4.0"
okhttpLibVersion = "3.10.0"
dependencies = [
//support
constraintLayout: "androidx.constraintlayout:constraintlayout:1.1.3",
appcompat : "androidx.appcompat:appcompat:1.0.2",
core_ktx : "androidx.core:core-ktx:1.0.2",
material : "com.google.android.material:material:1.1.0-alpha07",
//multidex
multidex : "com.android.support:multidex:1.0.3",
]
}
在 Project/build.gradle 中引用刚才定义好的 config.gradle 文件:
apply from: 'config.gradle'
三方库版本号引用:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
multiDexEnabled true
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
// Anko Commons
implementation "org.jetbrains.anko:anko-commons:$anko_version"
def dependencies = rootProject.ext.dependencies
//Android Support
implementation dependencies.appcompat
implementation dependencies.core_ktx
implementation dependencies.constraintLayout
implementation dependencies.material
//multidex
implementation dependencies.multidex
}
二、在 Project/gradle.properties 中配置,在 mudule/build.gradle 中使用
在 Project/gradle.properties 中定义:
COMPILE_SDK_VERSON = 28
APPCOMPAT_VERSON=28.0.0
引用到的变量默认是 String 类型,如果需要 int 类型,需要在后面添加 as int 声明
compileSdkVersion COMPILE_SDK_VERSON as int
implementation "androidx.appcompat:appcompat:${APPCOMPAT_VERSON}"。