Skip to content
Menu
CDhistory
CDhistory

Dostęp do prywatnych danych w systemie Android

Posted on 29 czerwca, 2021 by admin

Zgodnie z oficjalną dokumentacją deweloperską, oto opcje przechowywania danych w systemie Android:

  • Współdzielone preferencje – Przechowuj prywatne prymitywne dane w parach klucz-wartość.
  • Pamięć wewnętrzna – Przechowuj prywatne dane w pamięci urządzenia.
  • External Storage – Przechowywanie publicznych danych na współdzielonej pamięci zewnętrznej.
  • SQLite Databases – Przechowywanie ustrukturyzowanych danych w prywatnej bazie danych.
  • Network Connection – Przechowywanie danych w sieci za pomocą własnego serwera sieciowego.

Oprócz opcji połączenia sieciowego, wszystkie pozostałe opcje utrzymują dane na urządzeniu. Zarówno SharedPreferences jak i SQlite Databases są prywatnymi danymi przechowywanymi na urządzeniu. Pliki te nie są dostępne dla innych aplikacji lub użytkowników, chyba że jesteś na emulatorze lub zrootowanym urządzeniu. Oto kilka sposobów, w jaki sposób uzyskuję dostęp i sprawdzam te prywatne dane do debugowania podczas rozwoju.

  • Na emulatorze lub zrootowanym urządzeniu
  • Na niezrootowanym urządzeniu
  • Plik bazy danych SQLite
  • Sprawdź SQLite db za pomocą narzędzia GUI
  • Inspect SQLite db via sqlite3 command line tool
  • Wiping off app data
  • Use a library

Na emulatorze lub zrootowanym urządzeniu

Jeśli używasz emulatora lub zrootowanego urządzenia. Powinieneś mieć dostęp do prywatnej pamięci masowej urządzenia. Możesz uzyskać dostęp do plików z Android Studio GUI lub poprzez wiersz poleceń:

  • GUI – W Android Studio, uruchom Android Device Monitor z menu: Tools/Android/Android Device Monitor. Przejdź do zakładki File Explorer, następnie data/data/<nazwa pakietu Twojej aplikacji>/. Znajdź plik, którego szukasz, i możesz go stamtąd wypchnąć lub wyciągnąć.
  • Linia poleceń – możesz również wypchnąć plik do urządzenia lub wyciągnąć plik z urządzenia przez 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

Na niezrootowanym urządzeniu

Jeśli nie pracujesz na emulatorze lub zrootowanym urządzeniu. Z wiersza poleceń:

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

Teraz można uzyskać dostęp do plików na wewnętrznej pamięci masowej urządzenia. Aby wyjść z powłoki, wpisz exit.

exit <-- exit out of adb shell

Plik bazy danych SQLite

Gdy jesteś w stanie uzyskać dostęp do pliku bazy danych SQLite na emulatorze, zrootowanym urządzeniu lub poprzez powłokę adb / uruchom jako , istnieje kilka opcji sprawdzenia schematu i bazy danych SQLite na urządzeniu.

Sprawdź SQLite db za pomocą narzędzia GUI

Wyciągnij plik z urządzenia, a następnie użyj oprogramowania GUI, aby sprawdzić schemat i zawartość. Ja używam przeglądarki SQLite, która pozwala zobaczyć schemat bazy danych, zawartość tabel, a także wykonać kilka prostych skryptów SQL.

Inspect SQLite db via sqlite3 command line tool

Dla mnie łatwiejszą opcją jest użycie sqlite3 command line tool do inspekcji bazy danych z powłoki adb –

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

Alternatywnie możesz użyć sqlite3 lokalnie zamiast w powłoce, po wyciągnięciu pliku bazy danych z urządzenia:

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

Wiping off app data

Więc kiedy pracujesz z SharedPreferences lub SQLite db na Androidzie, często musisz wymazać dane i zacząć od nowa. Więc oto kilka opcji:

  • Odinstaluj i zainstaluj ponownie aplikację
  • Go to device Settings/Apps/Find your app and click on it/Storage/Clear Data

Jest znacznie łatwiejszy sposób, aby wspomóc proces rozwoju i debugowania: zainstaluj wtyczkę Android Studio o nazwie ADB Idea. Aby zainstalować wtyczkę, przejdź do Android Studio/Preferencje/Plugins, kliknij na Przeglądaj repozytoria i wyszukaj „ADB Idea”. Zainstaluj i uruchom ponownie Android Studio, a zobaczysz, że opcja wtyczki pojawi się pod Narzędzia/Android/ADB Idea. Daj mu spróbować. I find this plugin super helpful when I need to wipe off app data.

Use a library

There are other options for access and inspecting private files on Android devices by using a library.

One options is to use a library called Android Debug Database and you can read up the details from a blog post by the author on this.

.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ostatnie wpisy

  • Acela powraca: NYC lub Boston za 99 dolarów
  • OMIM Entry – # 608363 – CHROMOSOME 22q11.2 DUPLICATION SYNDROME
  • Rodzice Kate Albrecht – Dowiedz się więcej o jej ojcu Chrisie Albrechcie i matce Annie Albrecht
  • Temple Fork Outfitters
  • Burr (powieść)

Archiwa

  • luty 2022
  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021
  • sierpień 2021
  • lipiec 2021
  • czerwiec 2021
  • maj 2021
  • kwiecień 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