Ich habe Android Studio verwendet , um meine App zu entwickeln, seit sie veröffentlicht wurde.
Bis vor kurzem funktioniert alles gut, ich muss zusammen mit der Überprüfung der Datenbankdatei debuggen. Da ich nicht weiß, wie die Datenbank direkt angezeigt wird, muss ich beim Debuggen zum Generieren der Datenbankdatei die Datenbankdatei von meinem Telefon auf den PC exportieren.
Dazu muss ich öffnen DDMS > File Explorer
. Sobald ich das DDMS öffne, muss ich den USB-Anschluss erneut anschließen und verliere meinen Debug-Thread. Nachdem ich die Datenbankdatei überprüft habe, muss ich das DDMS schließen und den USB-Anschluss erneut anschließen, um zum Debug-Modus zurückzukehren.
Es ist einfach zu kompliziert. Hat jemand eine bessere Möglichkeit, dies in Android Studio zu tun (ich weiß, dass es in Eclipse einfacher ist)?
quelle
Antworten:
Anzeigen von Datenbanken aus Android Studio:
Bearbeiten: Um Ihre Datenbank auf einem Emulator anzuzeigen, gehen Sie folgendermaßen vor (für das tatsächliche Gerät scrollen Sie nach unten):
Laden Sie SQLiteBrowser herunter und installieren Sie es .
Kopieren Sie die Datenbank vom Gerät auf Ihren PC:
Android Studio-Versionen <3.0 :
Öffnen Sie DDMS über
Tools > Android > Android Device Monitor
Klicken Sie links auf Ihr Gerät .
Sie sollten Ihre Bewerbung sehen:
Gehen Sie zum Datei-Explorer (eine der Registerkarten rechts) und gehen Sie zu
/data/data/databases
Wählen Sie die Datenbank aus, indem Sie einfach darauf klicken.
Gehen Sie zur oberen rechten Ecke des Android Device Monitor-Fensters. Klicken Sie auf die Schaltfläche " Datei vom Gerät ziehen ":
Es öffnet sich ein Fenster, in dem Sie gefragt werden, wo Sie Ihre Datenbankdatei speichern möchten. Speichern Sie es an einem beliebigen Ort auf Ihrem PC.
Android Studio-Versionen> = 3.0 :
Öffnen Sie den Gerätedateie-Explorer über
View > Tool Windows > Device File Explorer
Gehen Sie zu
data > data > PACKAGE_NAME > database
, wobei PACKAGE_NAME der Name Ihres Pakets ist ( im obigen Beispiel ist es com.Movie ).Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie
Save As...
. Speichern Sie es an einem beliebigen Ort auf Ihrem PC.Öffnen Sie nun den von Ihnen installierten SQLiteBrowser . Klicken Sie auf " Datenbank öffnen ", navigieren Sie zu dem Speicherort, an dem Sie die Datenbankdatei gespeichert haben, und öffnen Sie sie . Sie können jetzt den Inhalt Ihrer Datenbank anzeigen.
So zeigen Sie Ihre Datenbank auf Ihrem Mobilgerät an:
Gehen Sie zu diesem Github-Repository und befolgen Sie die Anweisungen in der Readme-Datei, um Ihre Datenbank auf Ihrem Gerät anzeigen zu können. Was Sie bekommen, ist ungefähr so:
Das ist es. Es versteht sich jedoch von selbst, dass Sie alle diese Schritte rückgängig machen sollten, bevor Sie Ihre App veröffentlichen.
quelle
Stellen Sie über die ADB-Shell eine Verbindung zu Sqlite3 her
Ich habe in Android Studio keine Möglichkeit gefunden, dies zu tun, aber ich greife mit einer Remote-Shell auf die Datenbank zu, anstatt jedes Mal die Datei abzurufen.
Alle Informationen finden Sie hier: http://developer.android.com/tools/help/adb.html#sqlite
1- Wechseln Sie an einer Eingabeaufforderung zu Ihrem Plattform-Tools-Ordner
2- Geben Sie den Befehl ein
adb devices
, um die Liste Ihrer Geräte abzurufen3- Schließen Sie eine Shell an Ihr Gerät an:
4- Navigieren Sie zu dem Ordner, der Ihre Datenbankdatei enthält:
5- Führen Sie sqlite3 aus, um eine Verbindung zu Ihrer Datenbank herzustellen:
6- Führen Sie sqlite3-Befehle aus, die Ihnen gefallen, z.
SQLite Cheatsheet
Es gibt einige Schritte, um die Tabellen in einer SQLite-Datenbank anzuzeigen:
Listen Sie die Tabellen in Ihrer Datenbank auf:
Listen Sie auf, wie die Tabelle aussieht:
Drucken Sie die gesamte Tabelle:
Listen Sie alle verfügbaren SQLite-Eingabeaufforderungsbefehle auf:
quelle
run-as your.package.name
der Trick.Ich bin eigentlich sehr überrascht, dass niemand diese Lösung gegeben hat:
Schauen Sie sich Stetho an .
Ich habe Stetho mehrmals für verschiedene Zwecke verwendet (einer davon ist die Datenbankinspektion). Auf der eigentlichen Website wird auch über Funktionen für die Netzwerkinspektion und das Durchsuchen der Ansichtshierarchie gesprochen.
Es ist nur ein kleines Setup erforderlich: 1 Gradle-Abhängigkeits-Addition (die Sie für Produktions-Builds auskommentieren können), ein paar Codezeilen zum Instanziieren von Stetho und ein Chrome-Browser (da Chrome Devtools für alles verwendet werden).
Update : Sie können jetzt Stetho verwenden, um Realm-Dateien anzuzeigen (wenn Sie Realm anstelle einer SQLite-Datenbank verwenden): https://github.com/uPhyca/stetho-realm
Update Nr. 2 : Mit Stetho können Sie jetzt Couchbase-Dokumente anzeigen: https://github.com/RobotPajamas/Stetho-Couchbase
Update Nr. 3 : Facebook konzentriert sich darauf, alle Stetho-Funktionen in sein neues Tool Flipper aufzunehmen. Flipper hat bereits viele der Funktionen, die Stetho hat. Vielleicht ist jetzt ein guter Zeitpunkt, um den Wechsel vorzunehmen. https://fbflipper.com/docs/stetho.html
quelle
compile 'com.facebook.stetho:stetho:1.3.1'
und 2. fügen Sie diesen Code hinzuStetho.initializeWithDefaults(this);
und 3.chrome://inspect/#devices
Stetho.initializeWithDefaults(this);
sollte in derApplication
Klasse sein.Einfachste Methode, wenn kein Emulator verwendet wird
Vorsichtsmaßnahmen:
Ich habe das schon eine Weile nicht mehr getestet. Es funktioniert möglicherweise nicht mit API> = 25. Wenn der Befehl cp für Sie nicht funktioniert, versuchen Sie stattdessen einen der folgenden Schritte:
Erläuterung:
Der erste Block konfiguriert die Berechtigungen Ihrer Datenbank so, dass sie lesbar sind. Auf diese Weise
run-as
können Sie sich als Benutzer Ihres Pakets ausgeben, um die Änderung vorzunehmen.Als nächstes kopieren wir die Datenbank in ein weltweit lesbares / beschreibbares Verzeichnis. Dies ermöglicht dem adb Pull-Benutzerzugriff.
Ersetzen Sie dann die vorhandenen Lese- / Schreibrechte. Dies ist wichtig für die Sicherheit Ihrer App. Die Berechtigungen werden jedoch bei der nächsten Installation ersetzt.
Kopieren Sie abschließend die Datenbank auf die lokale Festplatte.
quelle
chmod 660 databases/database_name
sollte vorher seinchmod 660 databases
cp
Befehl zu überspringen und nur einpull
von außen zu machen (nachdem ich die Berechtigungen geändert habe ) und es hat funktioniert (adb pull data/data/package.name/databases/db_name.db
)In Android Studio 3 und höher wird rechts unten in Android Studio ein Abschnitt "Gerätedateie-Explorer" angezeigt.
Öffnen Sie es, dann können Sie den Dateibaum sehen, Sie können eine Anwendungsdatenbank in diesem Pfad finden:
quelle
run-as: Could not set capabilities: Operation not permitted
. Samsung-Gerät: stackoverflow.com/questions/37413667/…Schließlich fand ich eine einfachste Lösung, die das DDMS nicht öffnen muss.
Eigentlich basiert die Lösung auf dem, was @Distwo erwähnt hat, aber es muss nicht so kompliziert sein.
Denken Sie zunächst an den Pfad Ihrer Datenbankdatei im Gerät, er sollte immer derselbe sein. Zum Beispiel ist meins:
/data/data/com.XXX.module/databases/com.XXX.module.database
Zweitens , führen Sie diesen Befehl , die Datenbank - Datei auf Ihren PC zieht
Sie müssen diesen Befehl nur kopieren und speichern, dann können Sie ihn immer wieder verwenden.
Drittens , wenn Sie die Berechtigung verweigert haben oder so, führen Sie einfach
adb root
vor dem vorherigen Befehl aus.quelle
adb root
funktioniert auf meinem Handy nicht. Es wird ausgedrucktadbd cannot run as root in production builds
. Nach dem Ausführenadb root
friert der Pull-Befehl jedoch einfach ein und ich muss ihn manuell stoppen.run-as your.package.name
dies sollte "Sie anmelden" als der Benutzer, der zu Ihrer App gehörtProbieren Sie dieses Android Studio Plugin SQLScout . Sie können Ihre App-Datenbank in Echtzeit anzeigen und bearbeiten.
Bearbeiten: Denken Sie daran, es ist ein kostenpflichtiges Plugin, aber haben Sie eine 24-Stunden-Testversion und geeignet für Kopfschmerzen.
quelle
Nachdem ich alle Lösungen durchgesehen habe, werde ich vorschlagen
Verwenden Sie Stethos
sehen, wie einfach es ist
Fügen Sie der Datei build.gradle die folgenden Abhängigkeiten hinzu
Gehen Sie dann zu Ihrer mainActivity onCreate-Methode und fügen Sie die folgende Zeile hinzu
Dies würde erfordern, dass Sie
Jetzt, während Sie die App von Android Studio aus ausführen, öffnen Sie Chrome und geben Sie in der Adressleiste Chrome ein
: // inspect /
Überprüfen Sie auf der Registerkarte Ressourcen> Web-SQL, ob die Datenbank und das Tischspiel in Echtzeit einfach sind
quelle
Am einfachsten ist es, die Android Debug Database Library (7,3.000 Sterne auf GitHub) zu verwenden .
Vorteile:
Wie benutzt man:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
zubuild.gradle (module)
;D/DebugDB: Open http://192.168.232.2:8080 in your browser
der Link ist anders) und öffnen Sie ihn im Browser.Wichtig:
adb forward tcp:8080 tcp:8080
Weitere Informationen finden Sie auf der Bibliotheksseite von GitHub.
quelle
Um zu wissen, wo die von Ihnen in Android Studio erstellte SQLite-Datenbank gespeichert ist, müssen Sie die folgenden einfachen Schritte ausführen:
Für weitere Informationen ist dieser Link hilfreich. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/
Um Ihre in der DB-Datei vorhandenen Daten anzuzeigen, müssen Sie den SQLite-Browser herunterladen oder ein Plugin desselben in einem beliebigen Browser hinzufügen, damit Sie die Datei im Browser öffnen und Ihre Daten anzeigen können.
Browser herunterladen von http://sqlitebrowser.org/
Hier ist ein Screenshot mit einem Browser, der die Registerdatenbank enthält
Vielen Dank,
quelle
Einfache und einfache Möglichkeit, Datenbankinhalte in Android Studio anzuzeigen .
#Für Android Studio 4.1 Canary 6 und höher
Sie können die Funktion Database Inspector eines sehr einfachen Android Studio verwenden . Hier können Sie die Datenbanken Ihrer App mit dem neuen Datenbankinspektor überprüfen, abfragen und ändern. Sie können beispielsweise Ihre laufende App debuggen, indem Sie Werte in Ihrer Datenbank ändern und diese Änderungen auf dem Gerät in Echtzeit testen ohne Android Studio zu verlassen .
Stellen Sie Ihre App zunächst auf einem Gerät mit API-Level 26 oder höher bereit und wählen Sie Ansicht> Tool Windows> Datenbankinspektor der Menüleiste .
#Zum Android Studio 4.0 und weniger
Zuerst installieren Datenbank Navigator - Plugin in Android Studio
Zweite starten Sie Android Studio neu
Drittens , speichern Sie die Datenbank in die Standardposition wie: (C: \ Users \ Benutzername \ Dokumente \ Android Studio \ Device \ Emulator oder Gerät \ data \ data \ Paketname \ Datenbanken)
Viertens : Verbinden Sie die gespeicherte Datei dbname_db im Database Navigator
Geben Sie denselben DB-Dateipfad an, der in Schritt 3 verwendet wird
dh (C: \ Benutzer \ Benutzername \ Dokumente \ AndroidStudio \ DeviceExplorer \ Emulator oder Gerät \ Daten \ Daten \ Paketname \ Datenbanken \ Paket Naem \ Datenbankname_DB)
Zum Schluss testen Sie einfach die DB-Verbindung und öffnen die Konsole und tun, was Sie wollen.
Wenn Sie möchten , DB nur wiederholen Sie den Schritt aktualisieren Zweite und nur speichern oder erfrischen.
HAPPY CODING !!!!!
quelle
Am einfachsten ist es, Ihr Gerät anzuschließen und Android Studio dann über die Symbolleiste auszuführen:
Eine andere Möglichkeit ist die Verwendung der Stetho-Bibliothek:
Fügen Sie Ihrem build.gradle die Stello-Abhängigkeit hinzu:
kompiliere 'com.facebook.stetho: stetho: 1.5.0'
Setzen Sie die folgende Zeile in Ihr onCreate () Ihrer Anwendungsklasse oder Hauptaktivität:
Stetho.initializeWithDefaults (this);
Schließen Sie Ihr Gerät an, führen Sie die App aus und rufen Sie die folgende Site in Chrome auf:
chrome: // inspect / # Geräte
und das ist alles. Sie können jetzt Ihre Tabellen erkunden.
Hinweis: Es wird empfohlen, die Abhängigkeit zu entfernen, bevor Sie zur Produktion übergehen.
quelle
Wenn Sie Ihre Datenbanken FROM WITHIN ANDROID STUDIO durchsuchen möchten, verwende ich Folgendes:
Gehen Sie zu Dateien / Einstellungen / Plugins und suchen Sie danach:
... Nach dem Neustart von Android Studio können Sie Ihre heruntergeladene Datenbankdatei wie folgt auswählen:
... Klicken Sie auf das Symbol "Open SQL Console" und Sie erhalten diese schöne Ansicht Ihrer Datenbank in Android Studio:
quelle
Neuer Datenbankinspektor in Android 4.1 Canary 5 Preview eingeführt, mit dem Sie jetzt SQLite-Datenbanken in Ihrer laufenden App direkt über die IDE überprüfen, abfragen, ändern und debuggen können - https://developer.android.com/studio/preview/features?linkId = 86173020 # Datenbankinspektor
Unterstützt auch Datenbank-Live-Abfragen - https://developer.android.com/studio/preview/features?linkId=86173020#query
quelle
Dies ist eine sehr alte Frage und meine Antwort ähnelt einigen Antworten oben, ist aber VIEL schneller erledigt. Das folgende Skript ist für Mac, aber ich bin sicher, dass jemand es für Windows ändern kann.
1) Öffnen Sie den Skripteditor auf Ihrem Mac (Sie können einfach in Spotlight nach dem Skripteditor suchen).
2) Kopieren Sie den folgenden Text, fügen Sie ihn ein und ändern Sie ihn mit Ihrem SDK-Pfad, Paketnamen usw. (siehe unten).
3) Speichern Sie das Skript! !
Das ist es! Drücken Sie einfach die Wiedergabetaste oben, um die aktualisierte Datenbankdatei zu erhalten, die sich auf Ihrem Desktop befindet.
Ersetzen Sie die folgenden Dinge im folgenden Skript:
path_to_my_sdk == >> Geben Sie den vollständigen Pfad zu Ihrem SDK ein.
my_package_name == >> Paketname Ihrer Anwendung
myDbName.db == >> Dateiname Ihrer Datenbank
Hoffe das hilft jemandem.
quelle
Ich weiß, dass die Frage ziemlich alt ist, aber ich glaube, dass dieses Problem immer noch vorhanden ist.
Anzeigen von Datenbanken in Ihrem Browser
Ich habe ein Entwicklungstool erstellt, das Sie als Bibliothek in Ihr Android-App-Projekt integrieren können. Das Tool öffnet einen Server-Socket in Ihrer App, um über einen Webbrowser zu kommunizieren. Sie können Ihre gesamte Datenbank durchsuchen und die Datenbankdatei direkt über den Browser herunterladen.
Die Integration kann über jitpack.io erfolgen:
Projekt build.gradle:
App build.gradle:
Anwendungsklasse einrichten
Um DebugGhostLib nur in bestimmten Build-Typen oder Produkt-Varianten zu kompilieren, benötigen wir eine abstrakte Anwendungsklasse, die in den speziellen Varianten abgeleitet wird. Legen Sie die folgende Klasse in Ihren
main
Ordner (unterjava
>your.app.package
):Nun fügen Sie für Ihren Release-Build-Typ (oder Ihre Produktvariante) die folgende Anwendungsklasse zu Ihrem
release
Ordner (oder Ihrer Produktvariante) hinzu (auch unterjava
>your.app.package
):Dies ist die Anwendungsklasse, die dies nicht tut auf DebugGhostLib verweist.
Sagen Sie auch,
AndroidManifest.xml
dass Sie Ihre eigene Anwendungsklasse verwenden. Dies erfolgt in Ihremmain
Ordner:Nun fügen Sie für Ihren Debug-Build-Typ (oder Ihre Produktvariante) die folgende Anwendungsklasse zu Ihrem
debug
Ordner (oder Ihrer Produktvariante) hinzu (auch unterjava
>your.app.package
):Das Tool erhalten Sie hier .
quelle
Ich musste die Datenbank vom Telefon auf den PC ziehen. Jetzt benutze ich diese sehr gut gemachte und kostenlose App, die viele Funktionen hat. Es funktioniert
API 4.1+
mit einem gerooteten Gerät.Lassen Sie mich wissen, wenn Sie herausfinden, wie es ohne Root funktioniert.
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
quelle
Öffnen Sie das Gerätedatei-Erkundungsterminal unten im Android Studio.
Öffnen Sie den Ordner Daten , dann innen wieder Daten öffnen Sie den Ordner Daten .
Scrollen Sie in der Liste der Ordner nach unten und suchen Sie den Ordner mit Ihrem Paketnamen. Öffnen Sie den Ordner your.package.name > Database . Sie erhalten Ihren.Datenbanknamen . Klicken Sie mit der rechten Maustaste auf your.databaseName und speichern Sie unter C: / your / Computer / Directory.
Gehen Sie zu C: / your / Computer / Directory und öffnen Sie your.databaseName mit DB SQLite
quelle
Für Android Studio 3.X.
Hier ist der Link zu SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download
quelle
Mit der Veröffentlichung von Android Studio 4.1 Canary und Dev Preview können Sie ein neues Tool namens verwenden
Datenbankinspektor
Installieren Sie AS 4.1+, führen Sie die App aus, öffnen Sie den Datenbankinspektor. Jetzt können Sie Ihre Datenbankdateien auf der linken Seite des Datenbankinspektorfensters anzeigen und dann die Tabelle auswählen, um den Inhalt anzuzeigen.
Live-Abfragen
Entweder können Sie Ihre Abfragen mit der Option SQL ausführen ausführen, oder wenn Sie Room verwenden , den Datenbankinspektor öffnen und die App ausführen, können Sie die DAO-Abfragen in Ihrer Benutzeroberfläche ausführen, indem Sie auf die Schaltfläche Ausführen links neben der
@Query
Anmerkung klicken .quelle
Verwenden Sie Android SQLite wie die serverseitige Datenbank
Führen Sie die folgenden Schritte aus:
Verbinden Sie Ihr Android-Gerät mit Ihrem Computer
Wählen Sie das gewünschte Paket aus und wählen Sie die Datenbank wie im folgenden Bild aus
Vor all diesen Schritten müssen Sie sicherstellen, dass Sie die richtige Berechtigung zum Zugriff auf die Datei haben: /data/data//database/databasefile.db
Nach all diesen Schritten sehen Sie den Datenbankinhalt wie folgt:
Das letzte wichtige ist
Hoffe das ist Arbeit für dich! Danke !
quelle
Dies ist möglicherweise nicht die Antwort, nach der Sie suchen, aber ich habe keine bessere Möglichkeit, DB vom Telefon herunterzuladen. Ich werde vorschlagen, dass Sie dieses Mini-DDMS verwenden. Es wird jedoch super versteckt sein, wenn Sie nicht auf das sehr kleine Tarnfeld ganz unten links im Programm klicken. (Ich habe versucht, darüber zu schweben, sonst könnte es fehlen.)
Auch das Dropdown-Menü ohne Filter (oben rechts). Es gibt buchstäblich eine Menge verschiedener Möglichkeiten, wie Sie verschiedene Prozesse / Apps anhand von PPID, Namen und vielem mehr überwachen können. Ich habe dies immer verwendet, um das Telefon zu überwachen, aber denken Sie daran, dass ich nicht die Art von Entwicklungsarbeit mache, die zu 120% positiv sein muss. Die Datenbank macht nichts Ungewöhnliches.
Ich hoffe es hilft
quelle
Ich habe eine Unix-Befehlszeilenautomatisierung dieses Prozesses zusammengestellt und den Code hier eingefügt:
https://github.com/elliptic1/Android-Sqlite3-Monitor
Es ist ein Shell-Skript, das den Paketnamen und den Datenbanknamen als Parameter verwendet, die Datenbankdatei vom angeschlossenen Android-Gerät herunterlädt und das benutzerdefinierte Skript für die heruntergeladene Datei ausführt. Mit einem Unix-Tool wie 'watch' können Sie dann ein Terminalfenster mit einer regelmäßig aktualisierten Ansicht Ihrer Datenbankskriptausgabe öffnen.
quelle
Ich verwende Windows 7, mein Gerät ist eine emulierte Android-Geräte-API 23. Ich nehme an, es ist für jedes echte Gerät dasselbe, solange es gerootet ist und die API nicht über 23 liegt
Gehen Sie zu Extras -> Android -> Android-Gerätemonitor. Gehen Sie zum Datei-Explorer. In meinem Fall befindet es sich in data / data // app_webview / database / file_0 / 1
Ich muss manuell .db am Ende der Datei mit dem Namen "1" hinzufügen.
quelle
Es ist eine Kombination aus anderen Antworten mit einem Plus
quelle
Befolgen Sie die obigen Schritte, um den Datenbankordner Ihrer App im Android-Geräte-Explorer zu öffnen. Dort sehen Sie sechs Dateien. Die ersten drei werden als Android und die letzten drei als Datenbankname bezeichnet. Sie müssen nur mit den letzten drei Dateien arbeiten und diese drei Dateien an Ihrem bevorzugten Speicherort speichern. Sie können diese Dateien speichern, indem Sie mit der rechten Maustaste auf die Datei klicken und auf die Schaltfläche Speichern unter klicken (so wie ich meine Datenbank als room_database bezeichnet habe und daher drei Dateien als room_database, room_database-shm und room_database-wal bezeichnet werden. Benennen Sie die entsprechende Datei wie folgt um : -
1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal
Öffnen Sie nun die erste Datei in einem beliebigen SQLite-Browser und alle drei Dateien werden im Browser ausgefüllt.
quelle
Schließlich unterstützt Android Studio diese Funktionalität mit der Registerkarte Datenbankinspektor. Sie können Ansichts-, Aktualisierungs- und Abfragevorgänge einfach anwenden. Es befindet sich derzeit nicht im stabilen Kanal, aber Sie können es mit Android Studio 4.1 Canary 5 und höher ausprobieren.
Sie können sehen, wie der Datenbankinspektor aussieht hier
Und die entsprechende Version können Sie hier herunterladen
quelle