私は自分のアンドロイドアプリケーションとライブラリを構築するために使用する多数のgradleモジュールを用意しています。私のアプリケーションは、複数のJava & C++ライブラリに分解されています。各モジュールはJavaライブラリーまたはAPKプロジェクトである可能性があります。 APKを表す各モジュールについて、build.gradle
があり、それらのビルド方法を制御するさまざまなproductFlavors
セクションを指定しています。例:私はAPK出力を表し、各リーフbuild.gradle
に上記の構成を複製している避けるためにしようとしている何root gradle.buildスクリプトで一般的なグラデルプロパティを指定する方法
flavorDimensions "mode"
productFlavors {
arm {
dimension "mode"
externalNativeBuild {
ndk { abiFilters "armeabi-v7a" }
}
}
x86 {
dimension "mode"
externalNativeBuild {
ndk { abiFilters "x86" }
}
}
full {
dimension "mode"
externalNativeBuild {
ndk { abiFilters "x86", "armeabi-v7a" }
}
}
}
。ルートレベルで製品のフレーバーを保存するにはどうしたらいいですか?build.gradle
ファイルに移行するためにはどうしたらよいですか?複製する必要はありませんか?
あなたは「プラグインを適用する」を行うと、どのようにGradleのは 'ConfigurationPlugin'の内容は'アンドロイド{...} 'の下に行く必要があることを知っていますか? –
プラグインが( 'apply()'メソッドで)適用されると、アンドロイドライブラリの 'LibraryExtension'クラスである' android {} '設定が得られます。 ['LibraryExtension'](https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.LibraryExtension.html)には、' android {} 'クロージャのすべてのプロパティがあります。 –
また、私のGroovyコードがルートにないようにこれを構造化することはできますか?たとえば、兄弟モジュール(javaコードも含む)に格納し、それを他のモジュールから使用したいとします。 apply pluginコマンドを使ってそれを見つけることができません。 'apply plugin: 'com.example.ConfigurationPlugin''のようにする必要はありませんか? –