2012-10-05 21 views
5

C'è un modo per usare adb uninstall sull'apk, ma rendere i dati persistenti? Ho perso la chiave originale della mia app e ora vorrei aggiornarla, ma senza perdere i dati precedenti. Quindi ho bisogno di disinstallarlo prima per aggiungere il nuovo apk con la nuova chiave. È possibile?Come disinstallare Android Apk senza perdere dati?

Ho dimenticato di dire che sto eseguendo comandi tramite un file .bat.

+0

Non è possibile adb tirare/dati/dati/ e quindi disinstallare? – Shark

+0

@Shark Penso che potrei fare questo, ma posso farlo usando un file .bat? E inserire nel dispositivo nello stesso modo in cui l'ho rimosso usando la pressione? –

+0

Non vedo una ragione per cui no. – Shark

risposta

2

Versione per lotti.

My-make-clean.bat: 
adb pull /data/data/com.blah.bla/file1 file1 
adb pull /data/data/com.blah.bla/file2 file2 
adb pull /data/data/com.blah.bla/file3 file3 
... 
adb uninstall com.blah.bla 
adb install YourApkFile.apk 
+0

Felice di sentirlo funzionare per te :) – Shark

-1

Se il dispositivo è rootato, è possibile accedere a /data/<package_name> contenente i dati dell'app ed è possibile effettuare un backup di esso.

Se il dispositivo non è root, non ci sono altri mezzi per conservare i dati.

0

Se i dati memorizzati sono pubblici, rimarranno dopo la disinstallazione, ma se i dati sono archiviati in privato, i dati verranno rimossi quando si disinstalla l'app.

4

EDIT: avrebbe dovuto precisare, il seguente funziona solo per Android 4.0 e versioni successive.

Basta attivare adb accesso, e utilizzare questo comando:

adb backup -noapk -f /backup/myAppBackup.ab com.yourapp.packagename

Si dovrebbe quindi avere un file memorizzato nella directory principale (su Windows, C: \ o equivalente) in una cartella chiamata di backup.

Una volta ottenuto il file, assumendo il nome del pacchetto rimane lo stesso, si dovrebbe essere in grado di utilizzare semplicemente il comando

adb restore /backup/myAppBackup.ab

per ripristinare i dati.

Ora, non so per alcuni che questo funzionerà una volta che hai cambiato la chiave, ma sono abbastanza certo che si basa solo sul nome del pacchetto, quindi la chiave di firma non dovrebbe avere importanza. Maggiori informazioni here.

+0

Grazie, il primo comando ha creato il backup, ma sembra che non stia facendo il backup. Ho provato tramite adb shell e dice "Impossibile connettersi per il backup" –

+0

La cosa strana è che non vedo la schermata di richiesta di backup nella guida che hai postato. –

+0

Quale sistema operativo è in esecuzione? Funziona solo su 4.0 e versioni successive. – kcoppock

Problemi correlati