gradleでバージョンを統一するテクニック.

7023 ワード

gradleでバージョンを統一するテクニック.
Project/build.gradleで定義、module/build.gradleでの使用
1、直接Project/build.gradleで定義および参照:
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.compileSdkVersion = 26
    ext.targetSdkVersion = 26
    ext.support_appcompat_v7 = '26.1.0'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

...

数値参照:
compileSdkVersion rootProject.ext.compileSdkVersion

3つのライブラリのバージョン番号の参照:
implementation "com.android.support:appcompat-v7:$support_appcompat_v7"

2、xxxで単独です.gradleで定義および参照:
①プロジェクトレベルでconfigを新規作成する.buildファイル(ここのconfigは任意の好きな名前に置き換えることができます)には、構成情報が書かれています.
ext {//    project    

    android = [
            compileSdk: 27,
            buildTools: "27.0.3",
            minSdk    : 19,
            minLimitSdk: 19,//         
            targetSdk : 27,
    ]

    dependencies = [
            // App dependencies
            junit                : '4.12',
            espresso             : '2.2.2',
            supportLibraryVersion: '27.1.1',
            supportPercentVersion: '25.3.1',
            butterknife          : '8.8.1',
            gson                 : '2.7',
            retrofit             : '2.4.0',
            rxjava               : '1.1.6',
            rxandroid            : '1.2.1',
            loggingInterceptor   : '3.1.0',
            stetho               : '1.4.2',
            guavaVersion         : '18.0',
            leakcanary           : '1.5.4'
    ]
}

②Project/build.gradleでは先ほど定義したconfigを参照する.gradleファイル:
apply from: "config.gradle"

③数字引用:
compileSdkVersion rootProject.ext.android.compileSdk

④三方倉庫バージョン番号引用:
api "com.android.support:appcompat-v7:$rootProject.ext.dependencies.supportLibraryVersion"

Project/gradle.propertiesで構成するmudule/build.gradleで使用する.
①Project/gradle.propertiesで定義:
COMPILE_SDK_VERSON = 26
BUILD_TOOLS_VERSION = 25.0.2

SUPPORTV7_VERSON=25.0.1

②参照した変数はデフォルトでStringタイプであり、inタイプが必要な場合は、後にas int宣言を追加する必要があります
compileSdkVersion COMPILE_SDK_VERSON as int
buildToolsVersion BUILD_TOOLS_VERSION

compile "com.android.support:appcompat-v7:${SUPPORTV7_VERSON}"