Android-调试分析

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}"。
上一篇下一篇

猜你喜欢

热点阅读