Wie kann man auf den Inhalt von Android Emulator Datenbanken zugreifen?

Ich habe die Antwort auf eine Frage gelesen, wie man auf den Inhalt der Datenbanken zugreifen kann, aber ich kann es nicht scheinen, um es auf meiner Maschine zu arbeiten. Hier ist das Shell-Protokoll:

C:\android-sdk-windows\tools>adb -s emulator-5554 shell # sqlite3 /data/data/com.android.demo.notepad2/databases/notes sqlite3 /data/data/com.android.demo.notepad2/databases/notes SQLite version 3.5.9 Enter ".help" for instructions sqlite> .tables .tables sqlite> ^C C:\android-sdk-windows\tools> 

SQLite einfach echos meine Befehle zurück zu mir, auch wenn die Eclipse-Datei Browser sagt mir, es existiert. Wenn ich das sqlite3-Tool verwende und ".tables" verwende, werden die Befehle akzeptiert.

  • 'Visual Studio Emulator für Android' Geräte sind nicht im Android Device Monitor aufgeführt
  • Adb-Befehl zum Erhalten der IP-Adresse, die vom Operator zugewiesen wurde
  • Android Studio 2.0 Warten auf Debugger
  • Wie finde ich ARM-Prozessor-Version auf Android-Gerät?
  • Android: ADB Treiber für HTC One X
  • Einrichtung für die Entwicklung (?????? keine Berechtigungen)
  • Ist die SQLite-Syntax anders durch den Emulator fehlt mir etwas?

    (Tut mir leid für so viele Fragen, es scheint nicht viel kohärente Dokumentation auf Android zu sein!)

    Vielen Dank!

  • Rufen Sie die Aktivitätsmethode vom Adapter auf
  • Deaktivieren Sie Android Resource / Image / Png Optimierung
  • Wie kann ich die Funktionalität von iOS- und Android-Anwendungen automatisch testen?
  • Ansicht anzeigen, wenn die Symbolleiste zusammenbricht
  • MVC-Muster auf Android
  • Catching-Taste drückt, wenn Android-Handy im Tiefschlaf-Modus ist
  • 4 Solutions collect form web for “Wie kann man auf den Inhalt von Android Emulator Datenbanken zugreifen?”

    Ich kann Ihnen sagen, dass es gut funktioniert für mich auf Android 2.0.1:

     $ adb shell # cd /data/data/apt.tutorial # ls lib databases shared_prefs # cd databases # ls lunchlist.db # sqlite3 lunchlist.db SQLite version 3.5.9 Enter ".help" for instructions sqlite> .tables android_metadata restaurants sqlite> .exit # exit 

    Sie können die Datenbankdatei immer mit DDMS oder adb pull und einen Desktop SQLite Client verwenden, um es zu untersuchen. Zum Beispiel verwende ich das SQLite Manager Plugin für Firefox.

    notes.sqlite Sie auch, dass SQLite keine Standard-Dateierweiterung hat, also wenn Ihre Datenbank nicht notes aber notes.db oder notes.sqlite oder etwas, müssen Sie die Erweiterung angeben.

    Auch habe ich das nicht auf Windows ausprobiert, und es gibt eine Möglichkeit, dass es etwas Schlüssiges mit der Windows-Eingabeaufforderung und die beschränkte Shell auf Android-Geräten gibt, die deine Schwierigkeiten verursacht.

    Wenn Sie sqlite3-Anweisungen aus der Befehlszeile ausgeben möchten, verwenden Sie so etwas wie

     $ adb -e shell sqlite3 -batch /data/data/com.example.dbsample/databases/db '.tables' android_metadata $ adb -e shell sqlite3 -batch /data/data/com.example.dbsample/databases/db 'select * from android_metadata;' en_US 

    Die offensichtlichen Vorteile sind, dass Sie sich auf Ihre Shell-Geschichte verlassen können und Sie können dies in Skripten verwenden.

    Ich hatte das gleiche Problem und entdeckte, dass im Gegensatz zu der Dokumentation sollten Sie nicht die ".db" Erweiterung auf den Namen der Datenbank-Datei.

    Hinweis: Ich benutze Win7 und 2.1 Emulator.

    Ich hatte das gleiche Problem, verbrachte fast eine Stunde und schicke hier, damit es jemand anderes Zeit retten wird, ob du den richtigen Dateinamen mit der Erweiterung gegeben hast. Es gibt zwei Dateien unter dem Datenbanken-Ordner myDB.db und myDB.db -journal und wenn ich rannte
    "Sqlite3 /data/data/com.my.package/databases/myDB"
    und
    .tables
    Aufgeführt nichts, sqlite3 erstellt eine neue db mit dem Namen myDB, hat es nicht öffnen myDB.db

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