Cum să păstrați două versiuni ale unei aplicații instalate? (Android, Aplicații, Google Play Store)

user3303 a intrebat.
a intrebat.

Android Market tocmai a actualizat o aplicație în dispozitivul meu. Mi-a plăcut actualizarea, dar este complet diferită de ultima versiune, care a fost, de asemenea, preferata mea. Așadar, vreau să păstrez și ultima versiune. Am apk-ul ultimei versiuni datorită Titanium Backup. Dar, nu pot să o instalez fără să o înlocuiesc pe cea actuală (arhitectura Android este nașpa). Există vreo modalitate de a face acest lucru? Hacks etc..
Notă: Vreau să păstrez versiunea curentă care trebuie să fie conectată cu Market pentru a primi actualizări viitoare.

5 răspunsuri
R R

Se poate face, dar nu este simplu din motivele menționate de eldarerathis.aveți nevoie de apktool. Consultați acest ghid pentru a afla cum să îl utilizați. Și acest despre semnarea apk-ului după ce ați terminat.

Trebuie să modificați fișierul AndroidManifest.xml. Găsiți linia care arată așa:

manifest package="com.example.app"

și modificați-o în ceva de genul:

"com.example.app.foo"

După ce ați terminat, recompilați și apoi semnați. Pentru a vă restaura datele, încercați următoarele prin adb:

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

Unde com.example.app este numele pachetului original și com.example.app.foo este cel modificat.

Întotdeauna există o mică șansă ca aplicația să se întrerupă sau, în funcție de modul în care este structurată aplicația, este posibil să primiți un dialog de fiecare dată când schimbați ecranul care să vă solicite să alegeți ce aplicație doriți să lansați, dar cu siguranță merită să încercați dacă vă doriți suficient de mult.

Desigur, cele două aplicații nu vor împărtăși aceleași setări și date.

Comentarii

  • Minunat… Nu cred că va fi supus unor probleme legale, deoarece nu am de gând să o distribui/vând… Mulțumesc! –  > Por user3303.
  • Depinde de țara dvs. În Ungaria este legal să faci inginerie inversă a unei aplicații în scopuri de învățare/personale, dar nu știu despre restul lumii. Dar, din moment ce nu distribuiți nimic, nu veți avea probleme. –  > Por R R.
eldarerathis

Nu puteți face acest lucru. Fiecare aplicație Android are un nume de pachet, care definește efectiv spațiul de nume Java/Dalvik pe care îl ocupă clasele sale. Nu puteți avea instalate două pachete cu același nume, deoarece s-ar crea spații de nume suprapuse, motiv pentru care îl înlocuiește întotdeauna pe cel vechi atunci când instalați unul nou. Singurul mod în care ați putea face acest lucru este dacă ați putea obține sursa aplicației și ați putea modifica toate definițiile pachetelor.

totti

Fă-o în 5 minute

Metoda : Schimbați numele pachetului astfel încât android să îl recunoască drept o aplicație diferită.

Nu este nevoie de APKtool, nici de adb, nici de abilități de super utilizator.

Instrumente necesare

  • PC cu JAVA ( Windows, Linux, Mac ) ( se preferă JDK 8 )
  • ApkRename

Pași

  1. Faceți o copie de rezervă/descărcați o copie a aplicației dorite (app.APK)
  2. Transferați-o pe PC
  3. Pe PC descărcați JAVA și ApkRename
  4. Schimbați numele pachetului furnizând, calea către fișierul APK și noul nume al pachetului, la ApkRename
  5. Semnați APK-ul folosind ApkSign
  6. Transferați noul APK pe telefon și instalați-l.

NOTĂ: În cazul în care întâmpinați dificultăți în semnarea APK, utilizați o aplicație android APK editor, cum ar fi Advanced permission manager și faceți orice modificare, apăsați save & instalați. În acest moment vor semna aplicația.

Andrius

Ați putea încerca să reîmpachetați aplicația. Am instalat odată o versiune editată a unui joc și rezultatul a fost două jocuri. Dacă îmi amintesc bine, numele pachetelor nu erau aceleași.

user39670

Uneori, există unele referințe în biblioteca executabilă (.so), iar schimbarea numelui pachetului (de asemenea, smali -> classes.dex) nu ajută nici ea.

În cazuri simple, căutați ApkEditor.

Comentarii

  • Acesta este un bun început, dar nu explică ce modificări trebuie să faceți în ApkEditor. Dacă doriți ca răspunsul dvs. să fie util, ar fi bine să îl editați pentru a adăuga ceva mai multe informații. –  > Por Dan Hulme.