J'utilise Android Studio pour développer mon application depuis sa sortie.
Tout fonctionne bien jusqu'à récemment, je dois déboguer avec la vérification du fichier de base de données. Étant donné que je ne sais pas comment voir la base de données directement, lorsque j'ai débogué pour générer le fichier de base de données, je dois exporter le fichier de base de données de mon téléphone vers le PC.
Pour ce faire, je dois ouvrir DDMS > File Explorer
. Une fois que j'ouvre le DDMS, je dois reconnecter l'USB et je perds mon thread de débogage. Après avoir vérifié le fichier de base de données, je dois fermer le DDMS et reconnecter l'USB à nouveau pour revenir au mode de débogage.
C'est trop compliqué. Quelqu'un a-t-il une meilleure façon de le faire dans Android Studio (je sais que c'est plus facile dans Eclipse)?
la source
Réponses:
Affichage des bases de données depuis Android Studio:
Modifier: pour afficher votre base de données sur un émulateur, procédez comme suit (pour le périphérique réel, faites défiler vers le bas):
Téléchargez et installez SQLiteBrowser .
Copiez la base de données de l'appareil sur votre PC:
Versions d'Android Studio <3.0 :
Ouvrez DDMS via
Tools > Android > Android Device Monitor
Cliquez sur votre appareil à gauche.
Vous devriez voir votre candidature:
Accédez à l' Explorateur de fichiers (l'un des onglets à droite), accédez à
/data/data/databases
Sélectionnez la base de données en cliquant simplement dessus.
Accédez au coin supérieur droit de la fenêtre Android Device Monitor. Cliquez sur le bouton « extraire un fichier de l'appareil »:
Une fenêtre s'ouvrira vous demandant où vous souhaitez enregistrer votre fichier de base de données. Enregistrez-le où vous voulez sur votre PC.
Versions d'Android Studio> = 3.0 :
Ouvrez l' Explorateur de fichiers de périphérique via
View > Tool Windows > Device File Explorer
Accédez à
data > data > PACKAGE_NAME > database
, où PACKAGE_NAME est le nom de votre package (il s'agit de com.Movie dans l'exemple ci-dessus).Faites un clic droit sur la base de données et sélectionnez
Save As...
. Enregistrez-le où vous voulez sur votre PC.Maintenant, ouvrez le SQLiteBrowser que vous avez installé. Cliquez sur « ouvrir la base de données », accédez à l'emplacement où vous avez enregistré le fichier de base de données et ouvrez . Vous pouvez maintenant afficher le contenu de votre base de données.
Pour afficher votre base de données sur votre appareil mobile:
Accédez à ce référentiel Github et suivez les instructions du fichier Lisezmoi pour pouvoir afficher votre base de données sur votre appareil. Ce que vous obtenez est quelque chose comme ceci:
C'est tout. Il va de soi cependant que vous devez annuler toutes ces étapes avant de publier votre application.
la source
Se connecter à Sqlite3 via ADB Shell
Je n'ai trouvé aucun moyen de le faire dans Android Studio, mais j'accède à la base de données avec un shell distant au lieu de tirer le fichier à chaque fois.
Trouvez toutes les informations ici: http://developer.android.com/tools/help/adb.html#sqlite
1- Accédez à votre dossier platform-tools dans une invite de commande
2- Entrez la commande
adb devices
pour obtenir la liste de vos appareils3- Connectez un shell à votre appareil:
4- Accédez au dossier contenant votre fichier db:
5- Exécutez sqlite3 pour vous connecter à votre base de données:
6- Exécutez les commandes sqlite3 que vous aimez par exemple:
Cheatsheet SQLite
Il y a quelques étapes pour voir les tables dans une base de données SQLite:
Listez les tables dans votre base de données:
Indiquez à quoi ressemble le tableau:
Imprimez l'intégralité du tableau:
Répertoriez toutes les commandes d'invite SQLite disponibles:
la source
run-as your.package.name
fait l'affaire.Je suis en fait très surpris que personne n'ait donné cette solution:
Jetez un oeil à Stetho .
J'ai utilisé Stetho à plusieurs reprises à des fins différentes (l'une d'entre elles étant l'inspection de base de données). Sur le site Web actuel , ils parlent également de fonctionnalités pour l'inspection du réseau et la recherche dans la hiérarchie des vues.
Il ne nécessite qu'un peu de configuration: 1 ajout de dépendance gradle (que vous pouvez commenter pour les builds de production), quelques lignes de code pour instancier Stetho et un navigateur Chrome (car il utilise Chrome devtools pour tout).
Mise à jour : vous pouvez désormais utiliser Stetho pour afficher les fichiers Realm (si vous utilisez Realm au lieu d'une base de données SQLite): https://github.com/uPhyca/stetho-realm
Mise à jour # 2 : vous pouvez maintenant utiliser Stetho pour afficher les documents Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase
Mise à jour # 3 : Facebook concentre ses efforts sur l'ajout de toutes les fonctionnalités de Stetho dans son nouvel outil, Flipper. Flipper possède déjà de nombreuses fonctionnalités de Stetho. Donc, le moment est peut-être venu de faire le changement. https://fbflipper.com/docs/stetho.html
la source
compile 'com.facebook.stetho:stetho:1.3.1'
et 2. ajoutez ce codeStetho.initializeWithDefaults(this);
et 3.chrome://inspect/#devices
Stetho.initializeWithDefaults(this);
devriez être enApplication
classe.Méthode la plus simple lorsque vous n'utilisez pas d'émulateur
Avertissements:
Je n'ai pas testé cela depuis un moment. Cela peut ne pas fonctionner sur l'API> = 25. Si la commande cp ne fonctionne pas pour vous, essayez plutôt l'une des solutions suivantes:
Explication:
Le premier bloc configure les autorisations de votre base de données pour qu'elles soient lisibles. Cet effet de levier
run-as
vous permet d'usurper l'identité de l'utilisateur de votre package pour effectuer la modification.Ensuite, nous copions la base de données dans un répertoire lisible / inscriptible dans le monde. Cela permet à l'utilisateur adb pull d'accéder.
Ensuite, remplacez les privilèges de lecture / écriture existants. Ceci est important pour la sécurité de votre application, mais les privilèges seront remplacés lors de la prochaine installation.
Enfin, copiez la base de données sur le disque local.
la source
chmod 660 databases/database_name
devrait être avantchmod 660 databases
cp
commande et de faire justepull
de l'extérieur (après avoir changé les permissions) et ça a marché (adb pull data/data/package.name/databases/db_name.db
)Dans Android Studio 3 et supérieur, vous pouvez voir une section "Explorateur de fichiers de périphérique" dans le côté inférieur droit d'Android Studio.
Ouvrez-le, puis vous pouvez voir l'arborescence des fichiers, vous pouvez trouver une base de données d'application dans ce chemin:
la source
run-as: Could not set capabilities: Operation not permitted
. Appareil Samsung: stackoverflow.com/questions/37413667/…Enfin, j'ai trouvé une solution la plus simple qui n'a pas besoin d'ouvrir le DDMS.
En fait, la solution est basée sur ce que @Distwo a mentionné, mais cela ne doit pas être si compliqué.
Tout d'abord , souvenez-vous du chemin de votre fichier de base de données dans l'appareil, il devrait toujours être le même. Par exemple, le mien est:
/data/data/com.XXX.module/databases/com.XXX.module.database
Deuxièmement , exécutez cette commande qui extrait votre fichier de base de données sur votre PC
Ce que vous devez faire est simplement de copier et de stocker cette commande, puis vous pouvez l'utiliser à plusieurs reprises.
Troisièmement , si vous avez obtenu l'autorisation refusée ou quelque chose comme ça, exécutez juste
adb root
avant la commande précédente.la source
adb root
ne fonctionne pas sur mon téléphone. Il imprimeadbd cannot run as root in production builds
. Après l'exécutionadb root
, cependant, la commande pull se fige et je dois l'arrêter manuellement.run-as your.package.name
ceci devrait "vous connecter" en tant qu'utilisateur appartenant à votre applicationEssayez ce plugin de studio Android SQLScout . vous pouvez voir et modifier la base de données de votre application en temps réel.
Edit: N'oubliez pas que c'est un plugin payant, mais disposez d'un essai de 24h et adapté au temps de maux de tête.
la source
Après avoir parcouru toutes les solutions, je proposerai
Utilisez Stethos
Permet de voir à quel point c'est simple
Ajouter les dépendances suivantes dans le fichier build.gradle
Ensuite, passez à votre méthode mainActivity onCreate, ajoutez la ligne suivante
cela vous obligerait à
maintenant lors de l'exécution de l'application depuis le studio Android, Open Chrome et dans la barre d'adresse, tapez
chrome: // inspect /
dans l'onglet ressources> web SQL vérifier la base de données et jouer avec facilement en temps réel
la source
La façon la plus simple est d'utiliser la bibliothèque de base de données de débogage Android (7,3k étoiles sur GitHub) .
Avantages:
Comment utiliser:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
àbuild.gradle (module)
;D/DebugDB: Open http://192.168.232.2:8080 in your browser
-à- dire que le lien sera différent) et ouvrez-le dans le navigateur;Important:
adb forward tcp:8080 tcp:8080
Pour plus d'informations, rendez-vous sur la page de la bibliothèque sur GitHub.
la source
Pour savoir où la base de données sqlite stockée créée par vous dans Android Studio, vous devez suivre des étapes simples:
Pour plus d'informations, ce lien sera utile. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/
Pour afficher vos données présentes dans le fichier db, vous devez télécharger le navigateur sqlite ou ajouter un plugin de celui-ci dans n'importe quel navigateur, vous devez donc ouvrir le fichier dans le navigateur et afficher vos données.
Téléchargez le navigateur depuis http://sqlitebrowser.org/
Voici une capture d'écran montrant un navigateur contenant une base de données de registres
Merci,
la source
Un moyen simple et facile de voir le contenu de la base de données dans Android studio .
#Pour Android Studio 4.1 Canary 6 et supérieur
Vous pouvez utiliser un inspecteur de base de données très simple d'Android Studio . Où vous pouvez inspecter, interroger et modifier les bases de données de votre application à l'aide du nouvel inspecteur de base de données. Par exemple, vous pouvez déboguer votre application en cours d'exécution en modifiant les valeurs de votre base de données et en testant ces modifications sur l'appareil en temps réel sans quitter Android Studio .
Pour commencer, déployez votre application sur un appareil exécutant l'API de niveau 26 ou supérieur et sélectionnez Affichage> Fenêtres d'outils> Inspecteur de base de données dans la barre de menus.
#Pour Android Studio 4.0 et versions antérieures
Tout d'abord , installez le plug-in Database Navigator dans Android Studio
Deuxièmement , redémarrez Android Studio
Troisièmement , enregistrez la base de données dans l'emplacement par défaut comme: (C: \ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator ou device \ data \ data \ package name \ databases)
Quatrièmement , connectez le fichier dbname_db enregistré dans Database Navigator
Donnez le même chemin de fichier DB qui est utilisé à l'étape troisième
c'est-à-dire (C: \ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator or device \ data \ data \ package name \ databases \ package naem \ dbname_db)
Enfin , testez simplement la connexion DB et ouvrez la console et faites ce que vous voulez.
Si vous souhaitez actualiser la base de données, répétez simplement l'étape deuxième et enregistrez-la ou actualisez-la.
CODAGE HEUREUX !!!!!
la source
Le moyen le plus simple consiste à attacher votre appareil et à exécuter Android Studio puis à partir de la barre d'outils:
Une autre façon utilise la bibliothèque Stetho:
Ajoutez la dépendance Stello à votre build.gradle:
compilez 'com.facebook.stetho: stetho: 1.5.0'
Mettez la ligne suivante sur votre onCreate () de votre classe d'application ou activité principale:
Stetho.initializeWithDefaults (this);
Connectez votre appareil, exécutez l'application et accédez au site suivant sur Chrome:
chrome: // inspecter / # appareils
et c'est tout. vous pouvez maintenant explorer vos tables.
Remarque: il est recommandé de supprimer la dépendance avant de passer en production.
la source
Si vous souhaitez parcourir vos bases de données DANS ANDROID STUDIO, voici ce que j'utilise:
Allez dans Fichiers / Paramètres / Plugins et recherchez ceci:
... Après avoir redémarré Android Studio, vous pouvez choisir votre fichier de base de données téléchargé comme ceci:
... Cliquez sur l'icône "Open SQL Console", et vous vous retrouvez avec cette belle vue de votre base de données dans Android Studio:
la source
Nouvel inspecteur de base de données introduit dans Android 4.1 Aperçu de Canary 5 où vous pouvez désormais inspecter, interroger, modifier et déboguer des bases de données SQLite dans votre application en cours d'exécution directement à partir de l'EDI - https://developer.android.com/studio/preview/features?linkId = 86173020 # inspecteur de base de données
Prend également en charge la requête en direct de la base de données - https://developer.android.com/studio/preview/features?linkId=86173020#query
la source
Il s'agit d'une TRÈS vieille question et ma réponse est similaire à certaines réponses ci-dessus mais elle est BEAUCOUP plus rapide. Le script ci-dessous est pour Mac mais je suis sûr que quelqu'un peut le modifier pour Windows.
1) Ouvrez Script Editor sur votre Mac (vous pouvez simplement rechercher Script Editor dans Spotlight)
2) Copiez et collez le texte ci-dessous et modifiez-le avec votre chemin SDK, le nom du package, etc. (voir ci-dessous)
3) Enregistrez le script! !
C'est tout! Appuyez simplement sur le bouton de lecture en haut pour obtenir le fichier de base de données mis à jour, qui sera sur votre bureau.
remplacez les éléments suivants dans le script ci-dessous:
path_to_my_sdk == >> mettre le chemin complet vers votre sdk
my_package_name == >> nom du package de votre application
myDbName.db == >> nom de fichier de votre base de données
J'espère que cela aide quelqu'un.
la source
Je sais que la question est assez ancienne mais je pense que ce problème est toujours d'actualité.
Affichage des bases de données à partir de votre navigateur
J'ai créé un outil de développement que vous pouvez intégrer en tant que bibliothèque dans votre projet d'application Android. L'outil ouvre un socket de serveur dans votre application pour communiquer via un navigateur Web. Vous pouvez parcourir toute votre base de données et télécharger le fichier de base de données directement via le navigateur.
L'intégration peut se faire via jitpack.io:
projet build.gradle:
app build.gradle:
Configuration de la classe d'application
Afin de compiler uniquement DebugGhostLib dans certains types de build ou versions de produit, nous avons besoin d'une classe d'application abstraite qui sera dérivée dans les versions spéciales. Mettez la classe suivante dans votre
main
dossier (sousjava
>your.app.package
):Maintenant, pour votre type de build de version (ou version de produit), vous ajoutez la classe Application suivante à votre
release
dossier (ou version de produit) (également sousjava
>your.app.package
):Il s'agit de la classe d'application qui ne référencera pas DebugGhostLib.
Dites également à votre
AndroidManifest.xml
que vous utilisez votre propre classe d'application. Cela se fera dans votremain
dossier:Maintenant, pour votre type de build de débogage (ou version de produit), vous ajoutez la classe Application suivante à votre
debug
dossier (ou version de produit) (également sousjava
>your.app.package
):Vous pouvez obtenir l' outil ici .
la source
J'ai dû retirer la base de données du téléphone au PC. Maintenant, j'utilise cette application très bien conçue et gratuite qui a beaucoup de fonctionnalités. Il fonctionne
API 4.1+
avec un appareil rooté .Faites-moi savoir si vous trouvez comment le faire fonctionner sans root.
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
la source
Ouvrez le terminal d'exploration de fichiers de périphérique en bas d'Android Studio.
Ouvrez le dossier nommé Data , puis à l'intérieur de Data, ouvrez à nouveau les données du dossier .
Faites défiler la liste des dossiers et recherchez le dossier avec votre.package.nom. Ouvrez le dossier your.package.name > Base de données . Vous obtenez votre.databaseName . Cliquez avec le bouton droit sur votre.databaseName et enregistrez sous dans C: / votre / ordinateur / répertoire.
Allez dans C: / votre / ordinateur / répertoire ouvrez votre.databaseName avec DB SQLite
la source
Pour Android Studio 3.X
Voici le lien vers SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download
la source
Avec la sortie d' Android Studio 4.1 Canary et Dev preview , vous pouvez utiliser un nouvel outil appelé
Inspecteur de base de données
Installez AS 4.1+, exécutez l'application, ouvrez l'inspecteur de base de données, vous pouvez maintenant afficher vos fichiers de base de données sur le côté gauche du panneau de l'inspecteur de base de données, puis sélectionnez la table pour afficher le contenu.
Requêtes en direct
Soit vous pouvez exécuter vos requêtes en utilisant l' option Exécuter SQL , soit si vous utilisez Room puis ouvrir l'inspecteur de base de données et exécuter l'application, vous pouvez exécuter les requêtes DAO dans votre interface en cliquant sur le bouton Exécuter à gauche de l'
@Query
annotation.la source
Utilisez Android sqlite comme la base de données côté serveur
Suivez ces étapes ci-dessous:
Connectez votre appareil Android à votre ordinateur
Sélectionnez le package qui vous intéresse et sélectionnez la base de données comme l'image ci-dessous
Avant toutes ces étapes ci - dessus vous devez esure que vous avez le droit l' autorisation d'accéder au fichier: /data/data//database/databasefile.db
Après toutes ces étapes, vous verrez le contenu de la base de données comme ci-dessous:
La dernière chose importante est
J'espère que cela fonctionne pour vous! Je vous remercie !
la source
Ce n'est peut-être pas la réponse que vous cherchez, mais je n'ai pas de meilleur moyen de télécharger la base de données à partir du téléphone. Ce que je vais suggérer, c'est de vous assurer que vous utilisez ce mini-DDMS. Il sera super caché si vous ne cliquez pas sur la très petite boîte de camouflage en bas à gauche du programme. (J'ai essayé de le survoler sinon vous pourriez le manquer.)
Aussi le menu déroulant qui dit pas de filtres (en haut à droite). Il a littéralement une tonne de façons différentes de surveiller différents processus / applications par PPID, nom et bien plus encore. J'ai toujours utilisé cela pour surveiller le téléphone, mais gardez à l'esprit que je ne fais pas le type de travail de développement qui doit être positif à 120%, la base de données ne fait pas quelque chose hors de l'ordinaire.
J'espère que ça aide
la source
J'ai mis en place une automatisation en ligne de commande unix de ce processus et mis le code ici:
https://github.com/elliptic1/Android-Sqlite3-Monitor
Il s'agit d'un script shell qui prend le nom du package et le nom de la base de données comme paramètres, télécharge le fichier de base de données à partir du périphérique Android connecté et exécute le script personnalisé sur le fichier téléchargé. Ensuite, avec un outil Unix comme 'watch', vous pouvez ouvrir une fenêtre de terminal avec une vue de mise à jour périodique de la sortie de votre script de base de données.
la source
J'utilise Windows 7, mon appareil est une API d'appareil Android émulée 23. Je suppose que c'est la même chose pour tout appareil réel tant qu'il est enraciné et que l'API n'est pas supérieure à 23
Allez dans Outils -> Android -> Moniteur de périphérique Android. Accédez à l'Explorateur de fichiers. Dans mon cas, c'est dans data / data // app_webview / databases / file_0 / 1
Je dois ajouter manuellement .db à la fin du fichier nommé "1"
la source
C'est une combinaison d'autres réponses avec un plus
la source
Suivez les étapes ci-dessus pour ouvrir le dossier de base de données de votre application dans l'explorateur d'appareils Android et vous pouvez y voir six fichiers, les trois premiers sont nommés Android et les trois derniers sont nommés comme nom de votre base de données. Vous n'avez qu'à travailler avec les trois derniers fichiers, enregistrez ces trois fichiers à votre emplacement préféré. Vous pouvez enregistrer ces fichiers en cliquant avec le bouton droit sur le fichier et en cliquant sur le bouton Enregistrer sous (comme si ma base de données était nommée room_database et que trois fichiers étaient nommés room_database, room_database-shm et room_database-wal. Renommez le fichier correspondant comme suit : -
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
Ouvrez maintenant le 1er fichier dans n'importe quel navigateur SQLite et les trois fichiers seront remplis dans le navigateur.
la source
Enfin, Android Studio prend en charge cette fonctionnalité avec l'onglet inspecteur de base de données. Vous pouvez facilement appliquer des opérations d'affichage / mise à jour / requête. Ce n'est pas dans un canal stable pour l'instant, mais vous pouvez essayer avec Android Studio 4.1 Canary 5 et supérieur.
Vous pouvez voir à quoi ressemble l'inspecteur de base de données ici
Et vous pouvez télécharger la version appropriée ici
la source