2015-07-06 19 views
5

Sto cercando di sostituire il database della mia app con ADB, su un dispositivo rooted.Sostituisci database SQLite dell'app utilizzando ADB

ho attenersi alla seguente procedura:

  1. $adb shell
  2. run-as my.app.package
  3. cd databases
  4. rm my_database.db
  5. chmod 777 .
  6. exit
  7. exit
  8. $adb push my_database.db /data/data/my.app.package/databases/my_database.db

Il nuovo database viene copiato con successo.

Ma quando lancio di nuovo l'app, sembra che il nuovo database sia stato cancellato e creato di nuovo. Perché?

Grazie.

+0

a causa della versione del database, controllare se le versioni del database sono uguali o rimuovere l'istruzione di rilascio nella funzione onUpgrade() (Non consigliato) – insomniac

+0

mostraci il tuo 'codice' – Gattsu

risposta

1

Non so esattamente perché, ma funziona ora. Ho seguito questa procedura:

  1. aperto app (nella mia app, il database viene creato in attività principale)
  2. Seguire la procedura di cui alla domanda con l'applicazione openned
  3. Chiudere app e rimuoverlo dalla memoria
  4. riaprire l'app

Entrambe le versioni database sono lo stesso e non ho il codice in onUpgrade metodo.

Problemi correlati