2
votes

ID d'application basé sur le type de build

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?


0 commentaires

3 Réponses :


0
votes

Afin de changer votre applicationId, vous devez changer votre package dans le manifeste et dans tous vos répertoires

  1. Allez dans le coin supérieur gauche d'Android Studio où il est dit Android
  2. Cliquez dessus et changez-le en fichiers de projet à partir d'Android Studio 3.3
  3. Juste à côté des fichiers de projet, cliquez sur l'engrenage et décochez "Compacter les répertoires"
  4. Ouvrez les dossiers -> cliquez sur app -> src -> main -> java -> votre -> package -> nom
  5. 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


0 commentaires

1
votes

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)
   }

}


0 commentaires

0
votes

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"
        }
    }
}


0 commentaires