Gradleのグローバル構成

同じ構成のモジュールが複数ある場合は、これらの構成を抽出できます。つまり、グローバル構成を使用できます。グローバルに構成する方法はたくさんありますが、そのうちの2つをここで紹介します。
1. extブロック構成を使用する
以下に示すように、プロジェクトbuild.gradleでextブロック使用します。

GRADLE

ext {
    compileSdkVersion = 28
    buildToolsVersion = "28.0.3"
    minSdkVersion = 15
    targetSdkVersion = 28
}

特定のモジュールのbuild.gradleで構成を使用します。

GRADLE

プラグインを適用します: 'com.android.application'
アンドロイド{
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        applicationId "com.example.liuwangshu.hookinstrumentation"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
  ..。
}
..。

2. config.gradle構成を使用する
最初に、構成用のルートディレクトリにconfig.gradleファイルを作成します。
config.gradle

GRADLE

ext {
    android = [
            applicationId: "com.example.liuwangshu.hookinstrumentation"、
            compileSdkVersion:28、
            buildToolsVersion: "28.0.3"、
            minSdkVersion:15、
            targetSdkVersion:28、
    ]

    依存関係= [
            "appcompat-v7": "com.android.support:appcompat-v7:28.0.0"、
            "constraint": "com.android.support.constraint:constraint-layout:1.1.3"、
    ]
}

次に、apply from: "config.gradle"それをプロジェクトbuild.gradleに追加して、プロジェクトのすべてのモジュールがconfig.gradleで定義されたパラメーターを使用できるようにします。
最後に、モジュールのbuild.gradleの構成を使用します。

GRADLE

プラグインを適用します: 'com.android.application'
アンドロイド{
    compileSdkVersion rootProject.ext.android.compileSdkVersion
    buildToolsVersion rootProject.ext.android.buildToolsVersion
    defaultConfig {
        applicationId rootProject.ext.android.applicationId
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
   ..。
依存関係{
    実装rootProject.ext.dependencies ["constraint"]
    実装rootProject.ext.dependencies ["appcompat-v7"]
    ..。
}

4.3依存関係块

依存関係ブロックは、ビルドプロセス中にモジュールが依存するすべてのライブラリを構成するために使用されます。3.4バージョンのGradleプラグインは、コンパイル構成の依存関係を置き換えるためにapiと実装を追加します。ここで、apiは前のコンパイルと同じです。依存関係とAPIの主な違いは次のとおりです。

  • 実装により、モジュールはコンパイル時に依存関係を非表示にできますが、この依存関係は実行時にすべてのモジュールに表示されます。コンパイルのように、APIは使用する依存関係を隠すことはできません。
  • 如果使用api,一个module发生变化,这条依赖链上所有的module都需要重新编译,而使用implemention,只有直接依赖这个module需要重新编译。

おすすめ

転載: blog.csdn.net/guodashen007/article/details/113886181