Comment personnaliser le fichier APK nom de produit saveurs?
Je suis la personnalisation de la nom de l'APK fichier de mon application Android dans le build.gradle
script comme suit:
android {
defaultConfig {
project.ext.set("archivesBaseName", "MyApplication");
}
}
Maintenant que je suis à l'aide de produit saveurs:
android {
productFlavors {
green {
applicationId "com.example.myapplication.green"
}
blue {
applicationId "com.example.myapplication.blue"
}
}
}
Est-il un moyen de personnaliser le nom de chaque APK? J'ai expérimenté avec archiveBaseName
et baseName
sans succès. En fin de compte, je veux venir avec les fichiers suivants:
build/outputs/apk/Blue-debug-1.2.1.apk
build/outputs/apk/Blue-debug-unaligned.apk
build/outputs/apk/Blue-release-1.2.1.apk
build/outputs/apk/Blue-release-unaligned.apk
build/outputs/apk/Green-debug-1.2.1.apk
build/outputs/apk/Green-debug-unaligned.apk
build/outputs/apk/Green-release-1.2.1.apk
build/outputs/apk/Green-release-unaligned.apk
Vous devez vous connecter pour publier un commentaire.
Essayer de mettre cela dans votre android fermeture de construire.gradle
Maintenant les sorties doivent être comme
green.apk
etblue.apk
.if
blocs comme je l'ai demandé avant?Pour Android Plugin Gradle 0.13.+ vous devriez utiliser quelque chose comme ceci:
Pour Android Studio 3.0, vous devez changer à partir de:
À:
J'ai fait comme ceci:
C'est bizarre que vous auriez besoin de cela parce que le nom de fichier apk est déjà différent par défaut.
Si vous regardez ici à la ligne 1346, vous pouvez voir que le variantData.variantConfiguration.baseName est utilisé dans le outputFile.
Et de la documentation pour
baseName
estAinsi de courir
gradle assembleFreeDebug
devrait vous obtenir unProjectName-free-debug.apk
fichier.Mais si ce n'est pas le cas, ou si vous voulez un nom de fichier différent, vous pouvez utiliser le code suivant pour le personnaliser.
-unaligned.apk
fichiers dansbuild/outputs/apk
portent encore laMyApplication
préfixe. (2) La variante n'est pas capitalisé.project.archivesBaseName
etvariantData.variantConfiguration.baseName
d'adapter les non alignés-outputname. Mais je ne suis pas certaine si ce mess avec les autres étapes. Encore, vous ne devriez pas être à l'aide de la non alignés-version, mais plutôt la finale apk (dont vous pouvez contrôler l'apk-nom). (2) variante.nom.capitalize()Ce travail pour moi:
Ajouter le
variant.productFlavors[0].name
dans l'APK nom.Exemple de Code:
Voici ma variante (heh) de Lakshman la réponse ci-dessus, ne sais pas pourquoi j'ai besoin de la "variantes.les sorties.chaque" mais je l'ai fait.
C'est ce que vous avez besoin
Android Plugin Gradle 0.13.0 a désapprouvé les outputFile qui est utilisé dans:
La solution qui fonctionne pour moi est:
Je suis en utilisant le suivant de sorte que les fichiers ne sont pas écraser les unes les autres: