Wo Android-Emulator speichern SQLite-Datenbank?

Ich arbeite an einer Android-Anwendung, die Daten in einer SQLite-Datenbank speichert. Meine Frage ist, wo wird diese Datenbank-Datei auf dem Dateisystem gespeichert, wenn Sie einen Emulator verwenden?

Ich habe gesehen, dass es in gespeichert ist

  • Wählen Sie Ziel-API in der Android Studio-Layout-Design-Vorschau
  • Android Tastatur beim Ändern von Fragmenten ausblenden
  • Zugriff auf eine passwortgeschützte URL
  • Android Content Experimente mit Tag Manager nicht nach einigen Tagen Sessions
  • ANDROID: Gemeinsame Sitzung zwischen Webview und httpclient
  • Android O: PHONE_STATE Broadcast Begrenzung
  • /data/data/package_name/databases

    Aber ich muss wissen, wo auf der Festplatte meiner lokalen Maschine das tatsächlich abgespielt wird. Die Datenbank bleibt auf mehreren Läufen des Emulators bestehen, auch nachdem sie die Maschine heruntergefahren haben, also kann sie nicht einfach im RAM bleiben …

  • Mit Google OAuth 2 auf eingebettetem Android-basiertem Gerät
  • Ist Google Maps Android API v2 kostenlos?
  • Warum Active Android funktioniert nicht mit gradle 2.0?
  • SetScaleType to ScaleType.MATRIX programmgesteuert funktioniert nicht aber in xml funktioniert es
  • Android Studio Rendering Library
  • Android: gezielte Res-Ordner zum Debuggen in Eclipse
  • 7 Solutions collect form web for “Wo Android-Emulator speichern SQLite-Datenbank?”

    Das Dateisystem des Emulators kartiert kein Verzeichnis auf Ihrer Festplatte. Das Scheibenbild des Emulators wird als Bilddatei gespeichert, die Sie entweder durch Eclipse verwalten können (nach dem G1-aussehenden Icon in der Symbolleiste suchen) oder durch die Emulator-Binärdatei selbst ("Emulator-Help" für eine Beschreibung der Optionen) .

    Sie sind am besten mit adb von der Kommandozeile zu Jack in einen laufenden Emulator. Wenn du das spezifische Verzeichnis und den Dateinamen bekommst, kannst du einen "Adb-Pull" machen, um die Datenbankdatei vom Emulator und auf deine normale Festplatte zu bekommen.

    Bearbeiten : Removed Vorschlag, dass dies auch für unrooted Geräte funktioniert – es funktioniert nur für Emulatoren und Geräte, wo Sie betreiben adb als root.

    Bitte beziehen Sie sich auf diesen Link oder folgen Sie der Antwort unten.


    Ein Update, das in den folgenden Kommentaren erwähnt wird:

    Sie müssen nicht mehr auf der DDMS-Perspektive sein, öffnen Sie einfach den Datei-Explorer aus Eclipse- Fenster> Show View> Andere … Es scheint, dass die App nicht gerade laufen muss, ich kann in verschiedenen Apps-Dateien surfen Inhalt. Ich laufe ADB Version 1.0.29


    Oder du kannst den alten Ansatz ausprobieren:

    Öffnen Sie die DDMS-Perspektive auf Ihrer Eclipse IDE

    ( Fenster> Perspektive öffnen> Sonstiges> DDMS )

    Und das wichtigste:

    IHRE ANWENDUNG MUSS LAUFEN, DASS SIE DIE HIERARCHIE VON KOLLEGEN UND DATEIEN SEHEN KÖNNEN .

    Dann folgen Sie auf der Registerkarte Datei-Explorer dem Pfad:

    Data> data> your-package-name> datenbanken> your-database-file .

    Dann wählen Sie die Datei, klicken Sie auf das Disket-Symbol in der rechten Ecke des Bildschirms, um die .db- Datei herunterzuladen. Wenn Sie eine Datenbankdatei zum Emulator hochladen möchten, können Sie auf das Telefonsymbol (neben dem Diskettensymbol) klicken und die zu ladende Datei auswählen.

    Wenn du den Inhalt der .db- Datei sehen möchtest , rate ich dir, den SQLite Database Browser zu benutzen, den du hier herunterladen kannst.

    PS: Wenn du die Datenbank von einem echten Gerät sehen möchtest, musst du dein Telefon verwurzeln.

    Die anderen Antworten sind schwer veraltet. Mit Android Studio ist das so, wie du es machst:

    1. Klicken Sie auf Toos> Android> Android Device Monidtor

    Bildbeschreibung hier eingeben

    1. Klicken Sie auf Datei-Explorer

    Bildbeschreibung hier eingeben

    1. Navigieren Sie zu Ihrer db-Datei und klicken Sie auf die Schaltfläche Speichern .

    Bildbeschreibung hier eingeben

    Ich schrieb ein einfaches bash-Skript, das die Datenbank vom Android-Gerät auf Ihren Computer zieht (Linux, Mac User)

    Dateiname: android_db_move.sh Verwendung: android_db_move.sh com.example.app db_name.db

     #!/bin/bash REQUIRED_ARGS=2 ADB_PATH=/Users/Tadas/Library/sdk/platform-tools/adb PULL_DIR="~/" if [ $# -ne $REQUIRED_ARGS ] then echo "" echo "Usage:" echo "android_db_move.sh [package_name] [db_name]" echo "eg. android_db_move.sh lt.appcamp.impuls impuls.db" echo "" exit 1 fi; echo"" cmd1="$ADB_PATH -d shell 'run-as $1 cat /data/data/$1/databases/$2 > /sdcard/$2' " cmd2="$ADB_PATH pull /sdcard/$2 $PULL_DIR" echo $cmd1 eval $cmd1 if [ $? -eq 0 ] then echo ".........OK" fi; echo $cmd2 eval $cmd2 if [ $? -eq 0 ] then echo ".........OK" fi; exit 0 

    Die Datenbanken werden als SQLite-Dateien in / data / data / PACKAGE / Datenbanken / DATABASEFILE gespeichert wo:

    Sie können die Datenbankdatei im Emulator auswählen, die die DDMS-Perspektive auswählt, auf der Registerkarte Datei-Explorer.

    Da die Frage nicht auf Android Studio beschränkt ist, also gebe ich den Pfad für Visual Studio 2015 (arbeitete für Xamarin).

    Tools-Android-Android Geräte-Monitor

    Bildbeschreibung hier eingeben

    Besonderer Dank an andere Beantwortliche dieser Frage.

    Einfache Lösung – arbeitet für Emulator & Connected Devices

    1 Siehe Liste der derzeit verfügbaren Geräte / Emulatoren.

     $ adb devices 

    Liste der angeschlossenen Geräte

    G7NZCJ015313309 Gerät Emulator-5554 Gerät

    9885b6454e46383744 Gerät

    2 Führen Sie eine Sicherung auf Ihrem Gerät / Emulator aus

     $ adb -s emulator-5554 backup -f ~/Desktop/data.ab -noapk com.your_app_package.app; 

    3 Daten extrahieren

     $ dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -; 

    Sie finden die Datenbank in /db Ordner

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.