Comment garder deux versions d'une application installée?

43

Android Market vient de mettre à jour une application sur mon appareil. J'ai aimé la mise à jour, mais elle est complètement différente de la dernière version, qui était aussi ma préférée. Donc, je veux garder la dernière version aussi. J'ai la dernière version apk grâce à Titanium Backup. Mais, je ne peux pas l'installer sans remplacer celui actuel (l'architecture Android est nulle). Est-ce qu'il y a un moyen de faire ça? Hacks, etc.
Remarque: je souhaite conserver la version actuelle, qui doit être connectée à Market pour recevoir les futures mises à jour.

Quesito Android
la source

Réponses:

29

Cela peut être fait, mais pas simple pour les raisons mentionnées par eldarerathis . Vous avez besoin d' apktool . Reportez-vous à ce guide pour savoir comment l'utiliser. Et ceci lors de la signature de l'apk une fois que vous avez terminé.

Vous devez modifier le fichier AndroidManifest.xml. Trouvez la ligne qui ressemble à ceci:

manifest package="com.example.app"

et changez-le en quelque chose comme:

"com.example.app.foo"

Une fois que vous avez terminé, recompilez puis démissionnez. Pour restaurer vos données, essayez ce qui suit via adb:

adb rm /data/data/com.example.app.foo
adb push /data/data/com.example.app /data/data/com.example.app.foo

com.example.appest le nom du paquet de l'original et com.example.app.fooest le modifié.

Il y a toujours une faible chance que l'application tombe en panne ou, en fonction de la structure de l'application, un dialogue peut s'afficher à chaque fois que vous changez d'écran, vous invitant à choisir quelle application vous souhaitez lancer. je le veux assez.

Bien entendu, les deux applications ne partageront pas les mêmes paramètres et données.

RR
la source
2
Génial ... Je ne pense pas que ce serait sujet à des problèmes juridiques car je ne vais pas le distribuer / le vendre .. Merci!
Android Quesito
1
Cela dépend de votre pays. En Hongrie, il est légal de désosser une application à des fins personnelles ou d'apprentissage, mais je ne connais pas le reste du monde. Mais puisque vous ne distribuez rien, vous n'aurez pas de problèmes.
RR
16

Tu ne peux pas faire ça. Chaque application Android a un nom de package, qui définit efficacement l’espace de noms Java / Dalvik que ses classes occupent. Vous ne pouvez pas installer deux packages du même nom car cela créerait des espaces de noms qui se chevauchent. C'est pourquoi il remplace toujours l'ancien lorsque vous en installez un nouveau. La seule façon possible de le faire est si vous pouviez obtenir le source de l'application et modifier toutes les définitions de packages.

eldarerathis
la source
7

Faites-le avec dans 5 minutes

Méthode : modifiez le nom du package afin qu'Android le reconnaisse comme une application différente.

Pas d'outil APK, pas d'adb, pas de super compétences utilisateur requises.

Outils nécessaires

  • PC avec JAVA (Windows, Linux, Mac) (JDK 8 préféré)
  • ApkRename

Pas

  1. Sauvegarder / Télécharger une copie de l'application souhaitée ( app.APK)
  2. Transfert sur PC
  3. Télécharger sur PC JAVA et ApkRename
  4. Changer le nom du paquet en fournissant, chemin du fichier APK et le nouveau nom du paquet, à ApkRename
  5. Signer l'APK en utilisant ApkSign
  6. Transférez le nouveau fichier APK sur votre téléphone et installez-le.

REMARQUE: Si vous rencontrez des difficultés pour signer l'APK, utilisez l'application Android Editor Editor Advanced permission manageret effectuez toute édition, puis cliquez sur Enregistrer et installer. À ce moment, ils vont signer l'application.

totti
la source
2

Vous pouvez essayer de reconditionner l'application. Une fois, j'ai installé une version modifiée d'un jeu et le résultat a été deux jeux. Si vous vous en souvenez bien, les noms de paquets n'étaient pas les mêmes.

Andrius
la source
0

Parfois, il existe des références dans la bibliothèque exécutable ( .so), et changer le nom du paquet (également smali -> classes.dex) n’aide pas non plus.

Dans des cas simples, recherchez ApkEditor .

utilisateur39670
la source
1
C'est un bon début, mais n'explique pas les changements à apporter dans ApkEditor. Si vous souhaitez que votre réponse soit utile, vous pouvez la modifier pour ajouter un peu plus d'informations.
Dan Hulme