Я работаю над приложением для Android, которое хранит данные в базе данных SQLite. Мой вопрос: где этот файл базы данных хранится в файловой системе, когда вы используете эмулятор?
Я видел, что он хранится в
/data/data/package_name/databases
но мне нужно знать, где на жестком диске моей локальной машины, которое на самом деле отображается. База данных сохраняется при нескольких запусках эмулятора даже после выключения машины, поэтому она не может просто находиться в ОЗУ ...
adb pull
(даже с точным путем!), Если вы не являетесь пользователем root .adb pull /data/data/com.activeandroid.test/databases/Application.db ~/Development/Application.db
Обновление, упомянутое в комментариях ниже:
Или вы можете попробовать старый подход:
Откройте перспективу DDMS в вашей Eclipse IDE
( Окно> Открыть перспективу> Другое> DDMS )
и самое главное:
ВАШЕ ПРИЛОЖЕНИЕ ДОЛЖНО РАБОТАТЬ, ЧТОБЫ ВЫ МОЖЕТЕ ПРОСМОТРЕТЬ ИЕРАРХИЮ ПАПКИ И ФАЙЛОВ .
Затем во вкладке проводника вы будете следовать по пути:
данные> данные> имя-вашего-пакета> базы данных> файл-базы-данных .
Затем выберите файл, щелкните значок дискеты в правом углу экрана, чтобы загрузить файл .db . Если вы хотите загрузить файл базы данных в эмулятор, вы можете щелкнуть значок телефона (рядом со значком дискеты) и выбрать файл для загрузки.
Если вы хотите увидеть содержимое файла .db , я советую вам использовать браузер баз данных SQLite, который вы можете скачать здесь .
PS: Если вы хотите увидеть базу данных с реального устройства, вы должны рутировать свой телефон.
источник
Failed to pull selection
(null)
Остальные ответы сильно устарели. В Android Studio это можно сделать следующим образом:
источник
В Android Studio 3.4.1 вы можете использовать функцию поиска Android Studio, чтобы найти «Проводник файлов устройства», а затем перейти в каталог / data / data / package_name / database вашего эмулятора.
источник
Я написал простой сценарий bash, который загружает базу данных с устройства Android на ваш компьютер (Linux, пользователи Mac)
имя файла: android_db_move.sh использование: android_db_move.sh com.example.app db_name.db
источник
Поскольку вопрос не ограничивается Android Studio, я указываю путь для Visual Studio 2015 (работал для Xamarin).
Особая благодарность другим ответившим на этот вопрос.
источник
Базы данных хранятся в виде файлов SQLite в / data / data / PACKAGE / databases / DATABASEFILE, где:
Вы можете просмотреть (скопировать из / в файловую систему) файл базы данных в эмуляторе, выбрав перспективу DDMS на вкладке Проводник.
источник
Простое решение - работает как для эмулятора, так и для подключенных устройств
1 См. Список доступных в настоящее время устройств / эмуляторов.
2 Запустите резервную копию на вашем устройстве / эмуляторе
3 Извлечь data.ab
Вы найдете базу данных в
/db
папкеисточник
$ 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
согласно документам Android , Monitor устарел в Android Studio 3.1 и удален из Android Studio 3.2. Для доступа к файлам в Android Studio есть вкладка под названием «Device File Explorer» в правом нижнем углу окна разработки, где вы можете получить доступ к файловой системе вашего эмулятора. Просто следуйте
/ data / data / имя_пакета / базы данных
удачи.
источник
Для Android Studio 3.5 установите его, следуя инструкциям здесь: https://developer.android.com/studio/debug/device-file-explorer (Просмотр -> Инструмент Windows -> Проводник устройства -> -> базы данных
источник