我有大量gradle模塊用於構建android應用程序和庫。我的應用程序被分解成多個java庫。每個模塊可能是一個Java庫或一個APK項目。對於代表APK的每個模塊,我有一個build.gradle
,它指定了各種控制如何構建它們的productFlavors
部分。例如:如何在根gradle.build腳本中指定通用gradle屬性
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" }
}
}
}
我試圖避免的是在表示APK輸出的每個葉build.gradle
中重複上述配置。我該如何將產品口味存儲在根級別,並以某種方式將這些產品傳遞給離職文件build.gradle
,所以我不需要重複它們?
當您執行'apply plugin'時,Gradle如何知道'ConfigurationPlugin'內容需要在android {...}'下進行? –
當插件被應用時(在apply()方法中),我們得到了'android {}'配置,這是Android庫的'LibraryExtension'類。 ['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''? –