記事のディレクトリ
extは、変数を定義します
Gradleでは、主にキーワード内線を使用して達成すること。
異なる位置に定義されたextは、範囲と行動様式その後の使用は同じではありません。
- buildscript {}内のルート/ build.gradleに定義され
ext {
va = 'aaa'
vb = 'bbb'
}
或
ext.va = 'aaa'
ext.vb = 'bbb'
上記のように、2つのグローバル変数が定義されています。その他のGradle直接ファイルva
、vb
または"$va"
、"$vb"
することができます。
-
他の位置のルートに> build.gradleはbuildscriptのGradleまたは同じレベルのallprojectsである。また、グローバル変数。
ときに呼び出すニーズrootProject.ext.va
や"$rootProject.ext.va"
-
Gardleは、現在のドメイン内でのみ有効な一般的に定義されています。非グローバル
グローバルバージョン管理
ライブラリのさまざまなバージョンは、上記グローバルEXTにおいて、ある構成と統一位置、に依存するであろう。Gradleのか、コンフィギュレーションを設定するために、一つのファイルの追加。その後から適用されます:2つのグローバル変数の位置に導入される前にも言ったように、適切な位置に導入された「config.gradle」は注意を払うべきである従ってください。
ASはでルート/ buildscriptで定義されています
ext {
refs = [
junit : "junit:junit:4.12"
]
}
//再来个这样的
ext.refs.testRunner = "com.android.support.test:runner:1.0.2"
参考文献は、上記で定義されたマップです。あなたはありext.refs=[:]
空のマップ、その後の再利用を定義します。
使用::
implementation refs.junit
implementation refs.testRunner
ベネフィット
統一管理。
またはライン上の場所を探しに行く、グループ名またはライブラリのバージョンを見つけます。
害
バージョンASインテリジェンスのヒントによってできない最新情報。AS3.4は更新はおろか、設定関連の依存関係を参照し、プロジェクト構造にすることはできません。
この事をクラックするには、依存関係Gradleの元のファイルを書き込むしようとしている、とあなたが更新したいライブラリを確認したいときに、中settings.gradleにコンパイルのGradleにこのファイルを使用します。project(":app").buildFileName = 'app_origin.gradle'
包装失敗
原因で味のproductFlavorsの構成に、今日、AS3.4会った{ minsdkVersion configs.minsdkVersion}
コマンドとASパッケージを使用し、タスクをパッケージ化することはできません与えられています。