2016-05-03 8 views
2

Ich entwickle eine Android-Anwendung und die Zeit ist gekommen, wo neue Funktionen in der gleichen Umgebung getestet werden soll, die die Produktion App dient.Wie eine Produktion und Beta-Versionen der gleichen Anwendung für die Installation in dem gleichen Gerät zu entwickeln

Ich habe versucht, eine Niederlassung zu schaffen und Umbenennung in den manifesten und gradle Dateien .testing, aber ich bin havin Probleme mit dem Anbieter, und zwar unter Angabe:

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

Ich denke also nicht, dass dies ist der Ansatz. Ich möchte, dass die Anwendung in ihren zwei Varianten installiert wird (sie müssen nicht unbedingt Daten gemeinsam nutzen), und der Benutzer muss die eine oder die andere öffnen, je nachdem, ob neue Funktionen in der Produktionsumgebung oder in der zuverlässigeren, stabilen Version getestet werden müssen muss ausgeführt werden.

Hat sich schon mal jemand mit diesem Problem beschäftigt? Ich vermute, ich muss in Aromen schauen, aber ich weiß es nicht.

Vielen Dank im Voraus für die Einsicht.

+1

Verwenden Sie einen benutzerdefinierten 'Beta'-Build-Typ mit einem anderen' applicationIdSuffix'. – CommonsWare

Antwort

3

Verwendung sollte einen anderen Build-Typ für Beta verwenden.

In build.gradle Ihrer App-Modul,

android { 

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

     } 
     release { 

     } 
    } 
} 

Hier sind wir auf die applicationId Ihrer App ein Suffix "beta" und fügte hinzu. So können Sie 2 Varianten Ihrer App haben. Wenn Sie mehr als 2 Varianten in einem einzigen Handy haben möchten, fügen Sie einfach eine andere Variante mit einem anderen Suffix hinzu.

Um den Paketnamen in AndroidManifest zu verwenden, verwenden Sie ${applicationId} anstelle von com.example.dinesh. Wenn Sie den Paketnamen in Java-Klassen verwenden möchten, verwenden Sie BuildConfig.APPLICATION_ID.

Produkt Flavours sollte in diesem Fall nicht verwendet werden. Produktaromen werden verwendet, wenn Sie zwei Arten desselben Produkts haben, z. B. eine normale App und eine kostenpflichtige App. Um eine Betaversion Ihrer App zu erhalten, sollten Sie Build-Typen verwenden.

+0

Vielen Dank für die Antwort, aber ich verstehe es nicht. Ich habe diesen Code zu meiner build.gradle-Datei hinzugefügt, weiß aber nicht, wie man verschiedene Versionen kompiliert und generiert. – Graph

+0

verweisen Sie hier: https://medium.com/yplan-eng/how-to-have-debug-beta-and-prod-builds-installed-at-the-same-time-696ec4c76211#.prq9repcw – Bob

+1

nach unten In der linken Ecke des Android Studio können Sie eine Option mit dem Namen "Build Variants" sehen. Tippen Sie darauf und wählen Sie die Build-Variante, die Sie jetzt ausführen möchten. Verweisen Sie das Bild hier: https://cms-assets.tutsplus.com/uploads/users/798/posts/25005/image/buildvariants.png – Bob