2016-05-03 1 views
2

Je développe une application Android et le temps est venu où de nouvelles fonctionnalités devraient être testées dans le même environnement que celui utilisé pour l'application de production.Comment développer une production et des versions bêta de la même application pour l'installation dans le même appareil

J'ai essayé de créer une nouvelle branche et renommant .testing dans les fichiers manifestes et Gradle, mais je suis havin problèmes avec le fournisseur, en indiquant notamment:

I/dalvikvm: Could not find method android.app.Fragment.setSharedElementEnterTransition, referenced from method com.corp.app.AccountFrag.access$super 

Je ne pense pas que cela est l'approche. Je veux que l'application soit installée dans ses deux variantes (ils n'ont pas nécessairement besoin de partager des données) et que l'utilisateur ouvre l'un ou l'autre selon que les nouvelles fonctionnalités doivent être testées dans l'environnement de production ou la version plus fiable et stable doit être exécuté.

Est-ce que quelqu'un a déjà traité ce problème? Je soupçonne que j'ai besoin de regarder dans les saveurs, mais je ne sais pas.

Merci d'avance pour la perspicacité.

+1

Utilisez un type de construction 'beta' personnalisé, avec un' applicationIdSuffix' différent. – CommonsWare

Répondre

3

L'utilisation doit utiliser un type de construction différent pour la version bêta.

En build.gradle de votre module d'application,

android { 

buildTypes { 
     beta { 
      applicationIdSuffix ".beta" 
      versionNameSuffix "-beta" 
      resValue "string", "app_name", "Beta App" 
     } 
     debug { 

     } 
     release { 

     } 
    } 
} 

Ici, nous ajoutons un suffixe "bêta" à la applicationId de votre application. Vous pouvez donc avoir 2 variantes de votre application. Si vous voulez plus de 2 variantes dans un seul mobile, ajoutez simplement une autre variante avec un suffixe différent. Pour utiliser le nom du package dans AndroidManifest, utilisez ${applicationId} au lieu de com.example.dinesh.Si vous souhaitez utiliser le nom du package dans les classes Java, utilisez BuildConfig.APPLICATION_ID.

Les arômes du produit ne doivent pas être utilisés dans ce cas. Les saveurs de produit sont utilisées lorsque vous avez deux types de produits identiques, comme une application normale et une application payante. Pour avoir la version bêta de votre application, vous devez utiliser les types de construction.

+0

Merci pour la réponse, mais je ne comprends pas. J'ai ajouté ce code à mon fichier build.gradle mais je ne sais pas comment compiler et générer des versions différentes. – Graph

+0

se référer ici: https://medium.com/yplan-eng/how-to-have-debug-beta-and-prod-builds-installed-at-the-same-time-696ec4c76211#.prq9repcw – Bob

+1

vers le bas coin gauche de l'Android Studio, vous pouvez voir une option nommée "Build Variants". Tapez dessus et choisissez la variante de construction que vous voulez lancer maintenant. référez-vous à l'image ici: https://cms-assets.tutsplus.com/uploads/users/798/posts/25005/image/buildvariants.png – Bob