フレーバーを使用して、アセットの品質が異なるさまざまな APK を構築しようとしています。問題は、ビルド バリアントを選択した後でも、正しいバージョンだけでなく、すべてのフレーバーを実行しているように見えることです。
だから私のbuild.gradle
見た目はこんな感じ。
task initialize{
doLast {
configureObbFile.execute()
setupScreenSupport.execute()
}
}
android {
compileSdkVersion 28
defaultConfig {
println("Flavor: default")
applicationId com.test.package
minSdkVersion 19
targetSdkVersion 28
versionName "1.0.0"
}
flavorDimensions "AssetSize"
productFlavors {
tiny {
println("Flavor: tiny assests")
pak_name_suffix = "tiny"
initialize.execute()
}
small {
println("Flavor: small assests")
pak_name_suffix = "small"
initialize.execute()
}
normal {
println("Flavor: normal assests")
pak_name_suffix = "normal"
initialize.execute()
}
tablet {
println("Flavor: tablet assests")
pak_name_suffix = "tablet"
initialize.execute()
}
hightable {
println("Flavor: hightable assests")
pak_name_suffix = "hightable"
initialize.execute()
}
}
[...]
}
このようなビルド出力が得られます
Executing tasks: [:app:assembleHightableDebug]
> Task :app:configureObbFile
> Task :app:setupScreenSupport
Screens pak_name_suffix = "tiny"
> Task :app:initialize
> Task :app:initialize
> Task :app:initialize
> Task :app:initialize
> Task :app:initialize
> Configure project :app
Flavor: default
Flavor: tiny assests
Flavor: small assests
Flavor: normal assests
Flavor: tablet assests
Flavor: hightable assests
ご覧のとおり、 app:assembleHightableDebugで始まりますが、上から下まですべてのフレーバーを実行するだけです。HighTable パーティション (およびデフォルト) のみを実行したいと思います。どうしたの?私は何を間違っていますか?奇妙なことは、configureObbFileとsetupScreenSupportを「小さな」フレーバーで 1 回しか実行していないように見えることです。