web-dev-qa-db-fra.com

Valeurs de chaîne distinctes pour Android pour les versions release et debug

Chaque fois que je publie mon application, je modifie toutes mes chaînes url et certaines clés / du test à la production. Pour ce faire, je commente simplement les chaînes de test avant la publication. Existe-t-il une meilleure façon de gérer les chaînes en fonction du type de construction?

14
spaceMonkey

En supposant que vous utilisiez Android Studio, le système crée par défaut une version de base release et debug. Ainsi, si vous ajoutez un dossier debug et release dans le dossier app/src de votre projet, vous pouvez y déclarer des valeurs distinctes.

Donc, votre structure devrait être comme ceci:

project
  -app
    -src
      -debug
        -Java
          ...
        -res
          -values
            -strings.xml
      -release
        -Java
          ...
        -res
          -values
            -strings.xml
      -main
        -Java
          ...
        -res
          -values
            -strings.xml

Je devrais également ajouter que si vous avez une chaîne non définie dans le dossier debug ou dans le dossier release, elle sera replacée dans votre dossier main.

20

Il suffit de faire deux saveurs dans build.gradle. Ensuite, deux répertoires, à nouveau comme indiqué dans le lien ( developer.Android.com/tools/building/configuring-gradle.html ) . Puisque vous n'avez besoin que de modifier les chaînes, copiez simplement votre chaîne.xml fichiers dans les nouveaux répertoires (c.-à-d. dev et production) Supprimez votre chaîne d'origine strings.xml

Et c'est tout. :)

Pas besoin de déplacer vos fichiers Java ou d'autres fichiers de mise en page.

En bref, laissez dans votre répertoire "principal" tout ce qui doit être cohérent pour tous les types de construction . Remplacez les valeurs dépendant du type de construction dans leur répertoire respectif.

1
Rusheel Jain