Ich möchte dem Android Market zwei Versionen meiner App hinzufügen, eine für einige Cent und eine kostenlose Version mit Anzeigen. Das ist eine sehr übliche Praxis.
Ich baue gerade AdMod in meine App und es scheint, dass ich einige Dateien ändern muss. Daher scheint es am besten, eine separate Version meiner App zu erstellen.
Wie erreichen Sie das? Ein Zweig? Ein anderes Repository? Hat jemand einen Weg gefunden, beide Apps vernünftig im selben Repository zu halten?
Der Titel ist nicht falsch geschrieben, ich meine "realisieren", d. h. wie die Leute die beiden Versionen verwalten, nicht wie sie sie zum Market hinzufügen.
So etwas ist ein kompletter Albtraum - leider unterstützt das Android-Build-System es nicht wirklich gut.
Wir machen es, indem wir 99% des Codes unserer Anwendung in einem Bibliotheksprojekt haben. Wir erstellen dann ein Anwendungsprojekt für jede andere Version der App, von denen jede diese Bibliothek verwendet.
Wo wir unterschiedliche Versionen der App brauchen, um sich anders zu verhalten, erreichen wir das derzeit, indem wir verschiedene Ressourcen haben, die zur Laufzeit abgefragt werden. Wir sind jedoch dabei, die Abhängigkeitsinjektion über RoboGuice zu verwenden.
Es gibt Elemente, die einigermaßen gut funktionieren und andere nicht. Beispielsweise ist es notwendig, die Datei AndroidManifest.xml zu duplizieren, die fehleranfällig sein kann (es ist beispielsweise einfach, einem Manifest eine neue Aktivität hinzuzufügen und dies in den anderen zu vergessen). Es ist leider ein Chaos, aber die am wenigsten schlechte Lösung, die wir gefunden haben.
Persönlich würde ich dringend davon abraten, Branchen zu nutzen, um diesen Effekt zu erzielen. Sie können anfangs gut funktionieren, werden aber schnell zu einem Wartungsalbtraum.
Ein weiterer Vorteil der Verwendung einer Bibliothek besteht darin, dass das Testen erheblich vereinfacht wurde. Ein Beispiel für die Einrichtung finden Sie unter:
Leute laden sie normalerweise zweimal hoch (wie zwei verschiedene Programme) und modifizieren einfach den Titel, um etwas wie Werbung, Spenden und ähnliches hinzuzufügen. Und in der kostenlosen Version fügen Sie einfach das Label Free hinzu und fügen Sie auch die Beschreibung hinzu, dass es Ad-Supported ist.
Hier ist ein Beispiel mit der SMS-Popup-Anwendung:
Für den Android Market gelten sie als verschiedene Programme, aber für uns ist es dasselbe, aber eines ist Anzeigen-gestützt und das andere nicht.
Tags und Links android version-control google-play