Come si estrae il database sqlite dal dispositivo Android come emulatore?Come si estrae il database sqlite dal dispositivo Android?
risposta
- collegare il dispositivo al pc
- prompt dei comandi aperta in
/sdk-directory/tools
- tipo
adb pull /data/data/com.example.app/databases/database.db
dove com.example.app
è la vostra applicazione nome del pacchetto e database.db
è il file di database
che è nel caso in cui il tuo dispositivo è rootato, se non prova a seguire
Se si utilizza eclipse, passare alla vista DDMS. dalla scheda File Explorer -> dati-> Data-> pacchetto di applicazioni nome-> databases-> nome databse
selezionare file di database db quindi fare clic su pulsante di tiro
Al dispositivo normale non è nemmeno possibile aprire la cartella dei dati. –
dipende dal tuo dispositivo. –
È possibile utilizzare questi comandi per tirare la base di dati dal dispositivo. Digitando questi comandi tramite Android Studio è molto semplice. Assicurati di aver impostato il percorso di adb a livello globale sul tuo sistema. Quindi apri la finestra "terminale" dal basso verso Android Studio e vicino a "Monitor Android". Ora basta aggiornare i seguenti comandi con il nome effettivo del pacchetto dell'app e il nome del file del database. Otterrai il tuo file dal dispositivo.
adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file"
adb pull /data/data/package.name/databases/file .
adb shell "run-as package.name chmod 600 /data/data/package.name/databases/file"
il comando per Android 5.0+ /data/data/package.name/databases/file sarebbe:
adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file"
adb exec-out run-as package.name cat databases/file > newOutFileName
adb shell "run-as package.name chmod 600 /data/data/package.name/databases/file"
Eccellente. Grazie per questa informazione. –
supern .. grazie –
Perfetto. Se si desidera esaminare prima la cartella dei dati, dare un'occhiata a questo post: http: // stackoverflow.it/questions/9017073/is-it-possible-to-see-application-data-from-adb-shell-the-same-way-i-see-it-moun – shadowhorst
Il modo migliore per visualizzare e gestire database di voi app Android è quello di utilizzare questo libreria https://github.com/sanathp/DatabaseManager_For_Android
È un singolo file di attività Java, basta aggiungere il file java alla cartella di origine, è possibile visualizzare le tabelle nel database dell'app, aggiornare, eliminare, inserire righe nella tabella. Tutto dalla propria app.
Al termine dello sviluppo, rimuovere il file java dalla cartella src.
Mi ha aiutato molto. Spero che ti aiuti anche tu.
È possibile visualizzare al 1 ° minuto demo qui: http://youtu.be/P5vpaGoBlBY
adb root
adb remount
adb pull <remote> <local>
So che questa è una vecchia questione, tuttavia questo è quello che ho fatto per tirare il file SQLite database da app sul dispositivo.
- Salvare il file dal pacchetto di app per sdcard dispositivo
adb -d shell "run-as com.dautechnology.abdimuna.smartparking cat /data/data/<myAppPackageName>/databases/<databaseFileName> > /sdcard/<databaseFileName>"
Il comando sopra memorizza file in/sdcard È possibile verificare il file adb shell ls sdcard/
Poi l'uscita dal adb shell digitando exit
- Pull th e file dalla sdcard al luogo di lavoro corrente.
adb pull sdcard/<databaseFileName>
3. Spostare il file sul desktop o sul luogo desiderato.
mv <databseFileName> ~/Desktop
Spero che questo aiuta qualcuno là fuori.
fare programatically in applicazione
try {
File file = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (file.canWrite()) {
String currentPath = "/data/data/" + getPackageName() + "/databases/yourdbname";
String copyPath = "copydb_name.db";
File currentDB = new File(currentPath);
File backupDB = new File(file, copyPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
}
Assicurarsi dato il permesso
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
È possibile saltare tutte le fasi intermedie con un solo comando.
In funzionare il tuo PC shell:
adb -d shell 'run-as <package_name> cat /data/data/<package_name>/databases/<db_name>' > <local_file_name>
È possibile utilizzare Android Device Monitor per tirarlo. Vai a Strumenti -> Android -> Monitor dispositivo Android
- Selezionare il dispositivo dall'elenco a sinistra.
- Selezionare la scheda FileExplorer
- Expand dati-> Dati -> "yourpackageName" -> database
- Seleziona l'DatabaseFile e in alto a destra fare clic su questa icona tirare un file formare un dispositivo.
- salvarlo sulla scrivania quindi utilizzare questo strumento per aprirlo: http://sqlitebrowser.org/
dalla versione 24 in poi ho utilizzare questi comandi per tirare banca dati
adb shell
run-as package.name
cat /databases/database.db > /sdcard/database.db
exit
exit
adb pull /sdcard/database.db
precedenti alla versione 24
adb pull /data/data/package name/databases/database.db
era sufficiente
- 1. Visualizza database SQLite sul dispositivo in Android Studio
- 2. Android - Dove si trova il SQLite database memorizzato
- 3. Perché utilizzare il database sqlite in Android?
- 4. Come leggere i dati dal database SQLite?
- 5. synchronize database sqlite Android
- 6. Dopo l'aggiornamento ad Android 6.0, il database SQLite si blocca
- 7. Recupera blob di grandi dimensioni dal database sqlite di Android
- 8. Come svuotare il database SQLite?
- 9. Ottieni booleano dal database utilizzando Android e SQLite
- 10. Android: ottieni ResultSet dal database SQLite, quindi utilizza OpenCSV
- 11. Come recuperare il formato DATETIME dal database Sqlite
- 12. Crea database SQLite in Android
- 13. sqlite - allegare il database
- 14. Come incrementare il campo nel database Android sqlite
- 15. Schema del database Sqlite Android
- 16. Eliminazione di righe duplicate dal database sqlite
- 17. Come utilizzare il database SQLite precaricato in Android dalle risorse
- 18. Come trasformare un database MSSQL nel database SQLite per Android
- 19. Come posso installare l'eseguibile SQLite su un dispositivo Android?
- 20. Aggiornamento database sqlite quando il database del server viene aggiornato
- 21. Come proteggere il database SQLite dalla corruzione
- 22. Flushing e database SQLite su Android
- 23. Ottenere il database SQLite tramite la shell adb in cmd
- 24. Il dispositivo Android si riavvia occasionalmente
- 25. Connessione al dispositivo Bluetooth incorporato dal dispositivo Android
- 26. Popolare database Android dal file CSV?
- 27. Swift - Database SQLite precompilato non incluso nel dispositivo
- 28. Database espandibile AndroidListView e SQLite
- 29. SQLite - Il modo più veloce per leggere i dati dal database SQLite?
- 30. SQLite - Creazione di database crittografati. Come il...?
thi s ha funzionato ma il file estratto non mostra tabelle. – Andrain