Gestützt auf diese Antwort Ссылка Ich habe eine weitere Frage: Was macht eine App anders, die für Produktaromen spricht? Ich versuche, dies mit meinem XCode-Setup zu vergleichen, das wie folgt ist:
Meine Gedanken für das Android-Setup:
buildTypes: debug_test debug_production // keine Notwendigkeit für Unternehmens-Apps, da es möglich ist, nicht signierte Apps auf jedem Gerät veröffentlichen
Aromen: myApp
Danke für Ihre Unterstützung!
Nun, ich würde nicht mehr Build-Typen als debug
und release
angeben, um ein anderes Backend zu verwenden.
Stattdessen würde ich einige dieser Techniken verwenden:
Sie können im Anwendungscode mit BuildConfig
class auf Build-Typen, Build-Flavors und benutzerdefinierte Felder zugreifen.
Annäherung mit einfachen Aromen
Build-Typen:
debug
release
Geschmacksrichtungen:
dev
test
live
Was zu diesen Build-Varianten führen würde (Sie müssen nicht alle verwenden):
devDebug
devRelease
testDebug
testRelease
liveDebug
liveRelease
Vorgehensweise beim Kombinieren mehrerer Varianten mithilfe von Dimensionen
Flavour-Dimensionen:
backend
target
Build-Typen:
debug
release
Geschmacksrichtungen:
target
Dimension:
dev
test
live
backend
Dimension:
production
test
Was zu diesen Build-Varianten führen würde (Sie müssen nicht alle verwenden):
productionDevDebug
productionDevRelease
productionTestDebug
productionTestRelease
productionLiveDebug
productionLiveRelease
testDevDebug
testDevRelease
testTestDebug
testTestRelease
testLiveDebug
testLiveRelease
Verwenden des Build-Felds
Verwenden Sie zusätzliche Werte in Build-Typen und erstellen Sie Flavors-Deklarationen, zum Beispiel:
buildConfigField "boolean", "production_backend", "false"
oder
buildConfigField "String", "backend", "\"production\""
Tags und Links android continuous-integration android-gradle fastlane