Skip to content
Menu
CDhistory
CDhistory

Accesso ai dati privati su Android

Posted on Giugno 29, 2021 by admin

Secondo la documentazione ufficiale degli sviluppatori, ecco le opzioni per la memorizzazione dei dati su Android:

  • Preferenze condivise – Memorizza i dati primitivi privati in coppie chiave-valore.
  • Archiviazione interna – Memorizza i dati privati nella memoria del dispositivo.
  • Memorizzazione esterna – Memorizza i dati pubblici sulla memoria esterna condivisa.
  • Database SQLite – Memorizza i dati strutturati in un database privato.
  • Connessione di rete – Memorizza i dati sul web con il tuo server di rete.

A parte l’opzione di connessione di rete, le altre opzioni sono tutte persistenza dei dati sul dispositivo. Sia SharedPreferences che SQlite Databases sono dati privati memorizzati sul dispositivo. Questi file non sono accessibili ad altre applicazioni o utenti a meno che non siate su un emulatore o su un dispositivo radicato. Ecco alcuni modi in cui accedo e ispeziono questi dati privati per il debug durante lo sviluppo.

  • Su un emulatore o dispositivo con radici
  • Su un dispositivo non rootato
  • File database SQLite
  • Ispetta il db SQLite tramite uno strumento GUI
  • Ispetta il db SQLite tramite lo strumento a linea di comando sqlite3
  • Spazzatura dei dati dell’app
  • Usa una libreria

Su un emulatore o dispositivo con radici

Se stai usando un emulatore o un dispositivo con radici. Dovresti avere accesso alla memoria privata del dispositivo. Puoi accedere ai file dalla GUI di Android Studio o tramite la riga di comando:

  • GUI – In Android Studio, lancia Android Device Monitor dal menu: Strumenti/Android/Android Device Monitor. Naviga alla scheda File Explorer, poi data/data/<il nome del tuo pacchetto di app>/. Trova il file che stai cercando, e puoi spingere e tirare un file da lì.
  • Riga di comando – puoi anche spingere il file al dispositivo o tirare il file dal dispositivo tramite adb:
adb pull remote-dir local-dir <-- Copy from device to local machine
adb push local-dir remote-dir <-- Copy from local machine to device

Su un dispositivo non rootato

Se non stai usando un emulatore o un dispositivo rootato. Da linea di comando:

adb shell
run-as <app-package-name>F
cd data/data/...

Ora puoi accedere ai file sulla memoria interna del dispositivo. Per uscire dalla shell, digita exit.

exit <-- exit out of adb shell

File database SQLite

Una volta che sei in grado di accedere al file database SQLite su un emulatore, un dispositivo con radici o tramite adb shell / run as , ci sono alcune opzioni per controllare lo schema e il tuo database SQLite sul dispositivo.

Ispetta il db SQLite tramite uno strumento GUI

Prima estrai il file dal dispositivo, poi usa un software GUI per guardare lo schema e il contenuto. Io uso SQLite browser che permette di vedere lo schema del database, il contenuto delle tabelle, così come l’esecuzione di alcuni semplici script SQL.

Ispetta il db SQLite tramite lo strumento a linea di comando sqlite3

Per me l’opzione più facile è usare lo strumento a linea di comando sqlite3 per ispezionare il database dalla shell adb –

adb shell
cd data/data/<your package-name>/databases/
sqlite3 <db-name>
.tables
.schema <table-name>

In alternativa puoi usare sqlite3 localmente invece che dentro una shell, dopo aver estratto il file del database dal dispositivo:

adb pull <db-name>
sqlite3 <db-name>

Spazzatura dei dati dell’app

Quindi quando si lavora con SharedPreferences o SQLite db su Android, spesso è necessario cancellare i dati e ricominciare da capo. Quindi ecco alcune opzioni:

  • Disinstalla e reinstalla l’app
  • Vai a Impostazioni del dispositivo/Apps/Trova la tua app e clicca su di essa/Storage/Clear Data

C’è un modo molto più semplice per assistere il tuo processo di sviluppo e debug: installare un plug-in di Android Studio chiamato ADB Idea. Per installare il plug-in, vai su Android Studio/Preferences/Plugins, clicca su Browse repositories e cerca “ADB Idea”. Installa e riavvia Android Studio e vedrai l’opzione del plug-in apparire sotto Strumenti/Android/ADB Idea. Provalo. Trovo questo plugin super utile quando ho bisogno di cancellare i dati delle app.

Usa una libreria

Ci sono altre opzioni per accedere e ispezionare i file privati sui dispositivi Android utilizzando una libreria.

Una opzione è quella di utilizzare una libreria chiamata Android Debug Database e puoi leggere i dettagli da un post del blog dell’autore su questo.

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli recenti

  • Acela è tornato: NYC o Boston per $99
  • I genitori di Kate Albrecht – Per saperne di più sul padre Chris Albrecht e la madre Annie Albrecht
  • Temple Fork Outfitters
  • Burr (romanzo)
  • Trek Madone SLR 9 Disc

Archivi

  • Febbraio 2022
  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021
  • Agosto 2021
  • Luglio 2021
  • Giugno 2021
  • Maggio 2021
  • Aprile 2021
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語
©2022 CDhistory | Powered by WordPress & Superb Themes