J'ai une application Android Studio qui a maintenant près de 100 "productFlavors" associés, bien sûr tous définis dans le build.gradle
. Je voudrais les construire à partir de la ligne de commande car les construire un à la fois dans l'IDE serait un cauchemar. Mon problème se pose lorsque je rencontre une erreur au milieu de leur construction en utilisant la ligne de commande gradlew.bat assembleRelease
. Une fois l'erreur corrigée, je voudrais commencer à construire au point d'échec (peut-être 50 goûts dans la construction) plutôt qu'au début. Y a-t-il un moyen de faire ça avec Gradle? Avec Ant, j'ai été obligé de les commenter, j'espère qu'il y aura un meilleur moyen avec Gradle puisque la structure est beaucoup plus compliquée dans le fichier.Android gradlew.bat assemblerSupprimer le paquet de départ
MISE À JOUR
Je suis finalement allé avec une solution qui englobe Gradle et Ant (dégueu, mais cela fonctionne). Fondamentalement, je voulais construire sur de mes 100 saveurs White Label, avec un préfixe de la version, puis copiez-le à l'APK de livraison sans la version. Pour ce faire, mon script ANT ressemble:
#!/bin/sh
DEPLOY_DIR=C:/AndroidBuilds/MyCompany.Build
VERSION="63"
NAME="WhiteLabel1"
DEPLOY_FOLDER="whitelabel1"
APK_NAME=$NAME$".apk"
gradlew assemble$NAME
cp $DEPLOY_DIR/$DEPLOY_FOLDER/$VERSION"-"$APK_NAME $DEPLOY_DIR/$DEPLOY_FOLDER/$APK_NAME
NAME="WhiteLabel2"
DEPLOY_FOLDER="whitelabel2"
APK_NAME=$NAME$".apk"
gradlew assemble$NAME
cp $DEPLOY_DIR/$DEPLOY_FOLDER/$VERSION"-"$APK_NAME $DEPLOY_DIR/$DEPLOY_FOLDER/$APK_NAME
Il en résulte 2 APK généré, 63-WhiteLabel1.APK
et 63-WhiteLabel2.APK
, qui sont ensuite copiés dans leurs répertoires de déploiement respectifs WhiteLabel1.APK
et WhiteLabel2.APK
Je suppose que si vous êtes intelligent vous pourriez faire en sorte que cela prenne des paramètres pour exécuter celui que vous voulez, mais Android Studio fait un travail assez décent de cela.
Serait-ce un script Gradle ou un autre type de script? –
Utilisez je pourrais écrire un script Ant qui déclenche le script Gradle avec toutes mes saveurs énumérées ci-dessus, avec la logique de l'échec? –
Je suis finalement allé avec un script Ant qui a fait plusieurs choses en plus de la construction gradle. –