Je travaille sur une application Android qui stocke des données dans une base de données SQLite. Ma question est la suivante: où ce fichier de base de données est-il stocké sur le système de fichiers lorsque vous utilisez un émulateur?
J'ai vu qu'il est stocké dans
/data/data/package_name/databases
mais j'ai besoin de savoir où sur le disque dur de ma machine locale qui correspond réellement. La base de données persiste sur plusieurs exécutions de l'émulateur, même après avoir arrêté la machine, elle ne peut donc pas résider uniquement dans la RAM ...
adb pull
(même avec le chemin exact !), Si vous n'êtes pas root .adb pull /data/data/com.activeandroid.test/databases/Application.db ~/Development/Application.db
Une mise à jour mentionnée dans les commentaires ci-dessous:
Ou, vous pouvez essayer l'ancienne approche:
Ouvrez la perspective DDMS sur votre Eclipse IDE
( Fenêtre> Ouvrir la perspective> Autre> DDMS )
et le plus important:
VOTRE APPLICATION DOIT ÊTRE EN COURS POUR VOIR LA HIÉRARCHIE DES DOSSIERS ET DES FICHIERS .
Ensuite, dans l' onglet Explorateur de fichiers, vous suivrez le chemin:
data> data> nom-de-votre-package> bases de données> votre-fichier-base-de-données .
Sélectionnez ensuite le fichier, cliquez sur l' icône du disque dans le coin droit de l'écran pour télécharger le fichier .db . Si vous souhaitez télécharger un fichier de base de données sur l'émulateur, vous pouvez cliquer sur l' icône du téléphone (à côté de l'icône du disque) et choisir le fichier à télécharger.
Si vous souhaitez voir le contenu du fichier .db , je vous conseille d'utiliser SQLite Database Browser, que vous pouvez télécharger ici .
PS: Si vous souhaitez voir la base de données à partir d'un appareil réel, vous devez rooter votre téléphone.
la source
Failed to pull selection
(null)
Les autres réponses sont sérieusement dépassées. Avec Android Studio , voici comment procéder:
la source
Dans Android Studio 3.4.1, vous pouvez utiliser la fonction de recherche d'Android Studio pour trouver «Device File Explorer», puis accéder au répertoire / data / data / package_name / database de votre émulateur.
la source
J'ai écrit un simple script bash, qui extrait la base de données d'un appareil Android vers votre ordinateur (utilisateurs Linux, Mac)
nom de fichier: android_db_move.sh utilisation: android_db_move.sh com.example.app db_name.db
la source
Étant donné que la question n'est pas limitée à Android Studio, je donne donc le chemin pour Visual Studio 2015 (travaillé pour Xamarin).
Un merci spécial aux autres personnes qui ont répondu à cette question.
la source
Les bases de données sont stockées sous forme de fichiers SQLite dans / data / data / PACKAGE / databases / DATABASEFILE où:
Vous pouvez voir (copier depuis / vers le système de fichiers) le fichier de base de données dans l'émulateur en sélectionnant la perspective DDMS , dans l'onglet Explorateur de fichiers.
la source
Solution simple - fonctionne à la fois pour l'émulateur et les appareils connectés
1 Voir la liste des appareils / émulateurs actuellement disponibles.
2 Exécutez la sauvegarde sur votre appareil / émulateur
3 Extraire data.ab
Vous trouverez la base de données dans le
/db
dossierla source
$ dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
bash: adb: command not found
selon la documentation Android , Monitor est obsolète dans Android Studio 3.1 et supprimé d'Android Studio 3.2. Pour accéder aux fichiers, il y a un onglet dans le studio Android appelé "Device File Explorer" en bas à droite de la fenêtre de développement dans lequel vous pouvez accéder au système de fichiers de votre émulateur. Il suffit de suivre
/ data / data / nom_package / databases
bonne chance.
la source
Pour Android Studio 3.5, installez-le en suivant les instructions ici: https://developer.android.com/studio/debug/device-file-explorer (View -> Tool Windows -> Device File Explorer -> -> databases
la source