Skip to content
Menu
CDhistory
CDhistory

Access Private Data on Android

Posted on juni 29, 2021 by admin

I henhold til den officielle dokumentation for udviklere er der følgende muligheder for datalagring på Android:

  • Delte præferencer – Gem private primitive data i nøgle-værdipar.
  • Intern lagring – Gem private data på enhedens hukommelse.
  • Ekstern lagring – Gem offentlige data på den delte eksterne lagringsplads.
  • SQLite-databaser – Gem strukturerede data i en privat database.
  • Netværksforbindelse – Gem data på nettet med din egen netværksserver.

Ud over muligheden for netværksforbindelse er de andre muligheder alle persisterende data på enheden. Både SharedPreferences og SQlite-databaser er private data, der gemmes på enheden. Disse filer er ikke tilgængelige for andre programmer eller brugere, medmindre du er på en emulator eller en rooted enhed. Her er et par måder, hvorpå jeg får adgang til og inspicerer disse private data til debugging under udviklingen.

  • På en emulator eller en rooted enhed
  • På en ikke-rooted enhed
  • Sqlite-databasefil
  • Inspicér SQLite db via et GUI-værktøj
  • Inspicer SQLite db via sqlite3 kommandolinjeværktøj
  • Tørring af app-data
  • Brug et bibliotek

På en emulator eller en rooted enhed

Hvis du kører en emulator eller rooted enhed. Du skal have adgang til enhedens private lagerplads. Du kan få adgang til filerne fra Android Studio GUI eller via kommandolinjen:

  • GUI – I Android Studio skal du starte Android Device Monitor fra menuen: Værktøjer/Android/Android Device Monitor. Naviger til fanen File Explorer og derefter data/data/<din app-pakke navn>/. Find den fil, du leder efter, og du kan skubbe og trække en fil derfra.
  • Kommandolinje – du kan også skubbe filen til enheden eller trække filen fra enheden via 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

På en ikke-rooted enhed

Hvis du ikke kører på en emulator eller en rooted enhed. Fra kommandolinjen:

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

Nu kan du få adgang til filerne på enhedens interne lager. Hvis du vil afslutte shell’en, skal du skrive exit.

exit <-- exit out of adb shell

Sqlite-databasefil

Når du kan få adgang til SQLite-databasefilen på en emulator, rooted enhed eller via adb shell / run as , er der et par muligheder for at inspicere skemaet og din SQLite-database på enheden.

Inspicér SQLite db via et GUI-værktøj

Træk først filen fra enheden, og brug derefter en GUI-software til at se skemaet og indholdet. Jeg bruger SQLite-browser, som giver dig mulighed for at se databaseskemaet, tabelindholdet samt at udføre nogle enkle SQL-scripts.

Inspicer SQLite db via sqlite3 kommandolinjeværktøj

For mig er den nemmere løsning at bruge sqlite3 kommandolinjeværktøj til at inspicere databasen fra adb shell –

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

Alternativt kan du bruge sqlite3 lokalt i stedet for i en shell, efter at have trukket databasefilen fra enheden:

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

Tørring af app-data

Så når du arbejder med SharedPreferences eller SQLite db på Android, skal du ofte tørre dataene ud og starte forfra. Så her er et par muligheder:

  • Afinstaller og geninstaller appen
  • Gå til enhedsindstillinger/Apps/Find din app, og klik på den/Storage/Clear Data

Der er en meget nemmere måde at hjælpe din udviklings- og debuggingproces på: Installer et Android Studio-plug-in kaldet ADB Idea. For at installere plug-in’et skal du gå til Android Studio/Preferences/Plugins, klikke på Browse repositories (Gennemse repositories) og søge efter “ADB Idea”. Installer og genstart Android Studio, og du vil se plug-in-muligheden dukke op under Tools/Android/ADB Idea. Prøv det. Jeg finder dette plugin super nyttigt, når jeg har brug for at slette app-data.

Brug et bibliotek

Der er andre muligheder for at få adgang til og inspicere private filer på Android-enheder ved at bruge et bibliotek.

En af mulighederne er at bruge et bibliotek kaldet Android Debug Database, og du kan læse detaljerne i et blogindlæg af forfatteren om dette.

Skriv et svar Annuller svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Seneste indlæg

  • Acela er tilbage:
  • OMIM Entry – # 608363 – CHROMOSOM 22q11.2 DUPLIKATIONSSYNDROM
  • Kate Albrechts forældre – Få mere at vide om hendes far Chris Albrecht og mor Annie Albrecht
  • Temple Fork Outfitters
  • Burr (roman)

Arkiver

  • februar 2022
  • januar 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021
  • august 2021
  • juli 2021
  • juni 2021
  • maj 2021
  • april 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