0

Plus tôt cette année, j'ai publié une application pour un client avec laquelle nous avons utilisé des dimensions de saveur. Nous avionsSaveurs de produits avec plus de 2 dimensions

  Full | Preview 
Apple | Apple | Apple.Preview 
Orange | Orange | Orange.Preview 

Cela a fonctionné parfaitement. Mais maintenant, j'ai besoin d'ajouter Banana au projet comme une autre application, et les choses deviennent salissantes.

Dans les versions complètes, j'ai certaines fonctionnalités qui sont partagées par les versions existantes que je veux être exclu de la nouvelle application entièrement. Il y a des ressources qui seraient bien utiles à enlever, mais comme ce sont de petits fichiers, je ne m'inquiète pas autant. Je préférerais également éviter les versions Full et Preview de Banana, mais si je ne peux pas faire cela alors c'est ok. Ce que j'ai vraiment besoin de le faire grouper quelques fichiers dans Apple et Orange, et d'autres pour tous 3. Un peu comme faire une troisième dimension. Un conseil?

Répondre

0

Tout d'abord, pour votre fichier distinct, utilisez productFlavors ou Gradle

apple{ 
     applicationId "com.android.apple" 
     buildConfigField "String", "MY_DISTINC_STUFF", "APPLE" 
    } 

    orange{ 
     applicationId "com.android.orange" 
     buildConfigField "String", "MY_DISTINC_STUFF", "ORANGE" 
    } 

    banana{ 
     applicationId "com.android.banana" 
     buildConfigField "String", "MY_DISTINC_STUFF", "BANANA" 
    } 

Si vous souhaitez utiliser cette chaîne, utilisez ce BuildConfig.MY_DISTINC_STUFF

Deuxièmement, si vous voulez regrouper certains fichiers qui peuvent utiliser pour 1,2 ou tout. Tu dois faire ca.

  1. Créer 3 dossiers sous src dossier
  2. Nom comme défini dans build.gradle (niveau App). Ex: dossier apple, dossier orange, dossier banana. DON'T supprimer votre dossier principal
  3. Si vous souhaitez utiliser le même fichier pour tous, s'il vous plaît ajouter ce fichier au dossier main. (Ne vous souciez pas de 3 autres)
  4. Si vous souhaitez utiliser un fichier différent pour un dossier différent, créez 4 fichiers qui ont le nom same, mais different folder.
  5. Lorsque vous exécutez, choisissez le Build Variants approprié. Android Runtime décidera quel fichier doit être chargé.

+0

Comment cela fonctionnerait-il pour les extensions Preview et Full? Ceux-ci ont aussi des ressources. –

+0

créer le même dossier de ressources dans un endroit différent: Aperçu et complet. Mais, l'as-tu essayé? –

+0

J'ai fini par le faire fonctionner en faisant une troisième dimension: l'équipe. Je n'y ai pas réfléchi correctement. –