Remarque: réponse modifiée après la réponse de Xavier
J'essaie d'utiliser différentes saveurs de construction pour un même projet d'application dans Android Studio. Cependant, il semble que je passe un temps terrible à le configurer pour qu'il fonctionne correctement.
Pas:
- Créez un nouveau projet Android Studio, nommé «Test».
Ouvrez build.gradle * et ajoutez les lignes suivantes:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Après avoir redémarré Android Studio, je vois maintenant 4 variantes de construction dans la section Variantes de construction. Cela signifie que nous avons réussi jusqu'à présent à configurer les saveurs des produits. **
Création d'un nouveau dossier source pour flavour1 ; cependant, je ne sais pas si je le fais de la bonne manière. Voici comment je l'ai fait:
- Gardez à l'esprit que le nom de mon package pour ce projet est:
com.foo.test
- Faites un clic droit sur le
src
dossier, pour flavour1, j'ai en fait créé les dossiers individuels dans l'explorateur, de la même manière que la structuresrc/flavor1/java/com/foo/test/MainActivity.java
. - Ce qui précède a bien fonctionné, puisque le dossier «java» est en bleu , ce qui signifie que l'EDI connaît son répertoire source actif. En outre, le package a été créé automatiquement. Malgré cela, je reçois un avertissement pour une classe en double trouvée. Voir la capture d'écran ici.
- Pour flavour2, j'ai essayé de créer le package manuellement, mais le dossier 'src' pour flavour2 ne semble pas être en bleu, et donc les options sont différentes lorsque je clique avec le bouton droit, et 'New Package' n'est pas disponible pour moi. Voir l'image ici.
- Notez que pour flavour1, j'ai également créé un répertoire `` res '', qui devient bleu, mais malgré cela, n'offre pas la possibilité de créer un fichier de ressources Android ou un répertoire de ressources Andorid, au cas où je voudrais utiliser différents se résorbe pour différentes saveurs.
- Gardez à l'esprit que le nom de mon package pour ce projet est:
Est-ce que je fais quelque chose de mal? Ou est-ce que je manque quelque chose? Tenez-moi au courant si vous avez besoin de plus d'informations.
* Mon projet semble avoir deux fichiers build.gradle. Celui situé à la racine du dossier du projet (\ GradleTest), celui-ci est vide. Le second situé à la racine d'un sous-dossier de \ GradleTest, également appelé 'GradleTest' (GradleTest-GradleTest), c'est celui qui avait déjà du code à l'ouverture; c'est donc celui que j'ai édité.
** J'ai vérifié les paramètres de gradle et, apparemment, l'option Utiliser l'importation automatique était déjà activée. Malgré cela, apporter des modifications au fichier build.gradle ne met pas automatiquement à jour les variantes de build. Remarque: j'ai également essayé d'utiliser Build - Rebuild Project et / ou Build - Make Project, no-go. Je dois encore fermer le projet et le rouvrir pour que les modifications prennent effet.
applicationId
c'est désormais le support pris en charge au lieu depackageName
.