Wie behalte ich zwei Versionen einer App installiert?

43

Android Market hat gerade eine App auf meinem Gerät aktualisiert. Ich mochte das Update, aber es ist völlig anders als die letzte Version, die auch mein Favorit war. Also möchte ich auch die letzte Version behalten. Ich habe die letzte Version apk dank Titanium Backup. Aber ich kann es nicht installieren, ohne das aktuelle zu ersetzen (Android-Architektur ist zum Kotzen). Gibt es eine Möglichkeit, dies zu tun? Hacks etc ..
Hinweis: Ich möchte die aktuelle Version behalten, die mit Market verbunden sein muss, um zukünftige Updates zu erhalten.

Android Quesito
quelle

Antworten:

29

Es kann getan werden, aber nicht einfach aus den Gründen eldarerathis erwähnt. Du brauchst ein apktool . Informationen zur Verwendung finden Sie in dieser Anleitung. Und dies bei der Unterzeichnung der apk, nachdem Sie fertig sind.

Sie müssen die Datei AndroidManifest.xml ändern. Suchen Sie die Zeile, die so aussieht:

manifest package="com.example.app"

und ändere es in etwas wie:

"com.example.app.foo"

Wenn Sie fertig sind, kompilieren Sie erneut und treten Sie zurück. Versuchen Sie Folgendes über adb, um Ihre Daten wiederherzustellen:

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

Wo com.example.appist der Paketname des Originals und com.example.app.fooist die modifizierte.

Es besteht immer eine geringe Wahrscheinlichkeit, dass die App kaputt geht, oder je nach Struktur der App wird bei jedem Bildschirmwechsel ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, die zu startende App auszuwählen. Sie sollten es jedoch unbedingt ausprobieren will es dringend genug.

Natürlich teilen die beiden Apps nicht dieselben Einstellungen und Daten.

RR
quelle
2
Großartig ... Ich glaube nicht, dass es rechtliche Probleme geben wird, da ich es nicht vertreiben / verkaufen werde. Danke!
Android Quesito
1
Das hängt von Ihrem Land ab. In Ungarn ist es legal, eine App für Lernzwecke / persönliche Zwecke zurückzuentwickeln, aber ich weiß nichts über den Rest der Welt. Aber da Sie nichts verteilen, werden Sie keine Probleme bekommen.
RR
16

Das kannst du nicht machen. Jede Android-Anwendung hat einen Paketnamen, der den Java / Dalvik-Namespace definiert, den ihre Klassen belegen. Es können nicht zwei Pakete mit demselben Namen installiert werden, da dies zu überlappenden Namespaces führen würde. Daher wird bei der Installation eines neuen Pakets immer das alte ersetzt. Die einzige Möglichkeit, dies zu tun, besteht darin, die Quelle für die App abzurufen und alle Paketdefinitionen zu ändern.

eldarerathis
quelle
7

Mach es in 5 Minuten

Methode : Ändern Sie den Paketnamen so, dass Android ihn als andere App erkennt.

Kein APKtool, kein ADB, keine Super-User-Kenntnisse erforderlich.

Werkzeuge benötigt

  • PC mit JAVA (Windows, Linux, Mac) (JDK 8 bevorzugt)
  • ApkRename

Schritte

  1. Eine Kopie der gewünschten App sichern / herunterladen ( app.APK)
  2. Übertragen Sie auf den PC
  3. Auf dem PC laden Sie JAVA und ApkRename herunter
  4. Ändern Sie den Paketnamen, indem Sie den Pfad zur APK-Datei und den neuen Paketnamen in ApkRename angeben
  5. Signiere die APK mit ApkSign
  6. Übertragen Sie das neue APK auf das Telefon und installieren Sie es.

HINWEIS: Falls Probleme beim Signieren des APK auftreten, verwenden Sie die Android APK Editor-App Advanced permission managerund nehmen Sie die gewünschten Änderungen vor. Klicken Sie auf Speichern und installieren. Zu diesem Zeitpunkt werden sie die App signieren.

Totti
quelle
2

Sie können versuchen, die Anwendung neu zu packen. Ich habe einmal eine bearbeitete Version eines Spiels installiert und das Ergebnis waren zwei Spiele. Wenn Sie sich gut erinnern, waren die Paketnamen nicht gleich.

Andrius
quelle
0

Manchmal gibt es einige Referenzen in der ausführbaren Bibliothek ( .so), und das Ändern des Paketnamens (auch smali -> classes.dex) hilft auch nicht.

Suchen Sie in einfachen Fällen nach ApkEditor .

user39670
quelle
1
Dies ist ein guter Anfang, erklärt jedoch nicht, welche Änderungen Sie in ApkEditor vornehmen müssen. Wenn Sie möchten, dass Ihre Antwort hilfreich ist, können Sie sie bearbeiten, um ein bisschen mehr Informationen hinzuzufügen.
Dan Hulme