J'ai eu le même problème, que j'ai réglé sur est de faire deux applications android, l'une appelée my_epic_app_free, et de l'autre my_epic_app_paid. Ce que je voudrais faire est de seulement apporter des modifications à la version payante, puis-je avoir une console java du programme, tout ce qu'il fait est d'accéder à tous les .java fichiers directement depuis le disque dur, de les copier dans la mémoire, du violon avec les noms de package et de manifester des lignes, puis de les coller directement dans l'app gratuite". J'ai cela sur un bouton poussoir sur le bureau de sorte que lorsque j'ai terminé le développement sur la version payante, j'appuie sur le bouton, puis de compiler la version gratuite. J'ai à la fois l'application payante et gratuite app communiquer à l'eachother, l'utilisateur peut même installer les deux d'entre eux, et la version gratuite voit le payé, et se déverrouille à la version payante.
Une autre idée est de rendre l'application payante juste une bare bone programme qui contient un fichier de clés. L'application payante, si elle est exécutée, exécutera automatiquement la version gratuite et la version gratuite se comporte comme la version payante.
L'application gratuite vérifie la présence de l'application payante du fichier de la clé, et si elle existe, alors il serait déverrouiller l'application gratuite. Cela empêche la duplication de code. Les noms doivent encore être différents, mais, idéalement, l'application payante n'aurait pas besoin d'être changé souvent.
Avantage: Pas de données de l'utilisateur/paramètres sont perdus lors de la "mise à niveau" à la version payante.
Inconvénient: Si l'utilisateur installe la version payante d'abord, ils devront être adressées à installer la version gratuite qui ne sert à rien, pourquoi ont-ils pour installer deux applications pour la version payante?