Je dois changer l'ID d'application complet en fonction du type de construction sans ajouter de suffixe après l'ID. J'ai essayé de déplacer applicationId dans chaque type de construction mais Gradle utilise le dernier dans le dernier type de construction par défaut. Est-ce possible?
3 Réponses :
Afin de changer votre applicationId, vous devez changer votre package dans le manifeste et dans tous vos répertoires
- Allez dans le coin supérieur gauche d'Android Studio où il est dit Android
- Cliquez dessus et changez-le en fichiers de projet à partir d'Android Studio 3.3
- Juste à côté des fichiers de projet, cliquez sur l'engrenage et décochez "Compacter les répertoires"
- Ouvrez les dossiers -> cliquez sur app -> src -> main -> java -> votre -> package -> nom
- Maintenant que vous voyez des dossiers individuels, cliquez avec le bouton droit sur les parties que vous souhaitez modifier -> Refactoriser -> Renommer
Ensuite, vous pouvez modifier votre applicationId et votre package dans votre AndroidManifest.xml
J'espère que cela aide
source: Modifier la documentation Android officielle de l'identifiant de l'application
Vous pouvez utiliser le filtre gradle pour ignorer certaines cibles de construction / saveur, veuillez vérifier ce code
variantFilter { variant -> def flavor = variant.flavors*.name def buildType = variant.buildType*.name // To check for a certain build type, use variant.buildType.name == "<buildType>" if ((flavor.contains("xyz") && buildType.contains("debug"))) { // Gradle ignores any variants that satisfy the conditions above. setIgnore(true) }
}
J'utilise cette approche simple et cela fonctionne bien
android { ... applicationVariants.all { variant -> if (variant.name.contains("debug")) { variant.mergedFlavor.applicationId = "application.id.debug" } else { variant.mergedFlavor.applicationId = "application.id.release" } } }