Как найти файл базы данных на виртуальном устройстве Android? - PullRequest
3 голосов
/ 25 июня 2009

Я планирую предварительно заполнить базу данных на виртуальном устройстве, а затем включить базу данных в дистрибутив моего приложения.

Однако я не могу найти файл базы данных.

Это где-то на моем жестком диске? Как мне это получить?

Я попытался подключиться с помощью adb, я сделал "ls", а затем очень испугался этого неясного списка каталогов:

sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev

Даже когда я перехожу в /data/data/your.package.here/databases, у меня все еще нет доступа к реальному файлу базы данных. Я не могу использовать sqlite3 или сделать это. Есть ли способ изменить разрешения?

Это нормально работает на моем эмуляторе, но не работает на реальном устройстве. adb pull /data/data//databases/mydb.db.

Ответы [ 3 ]

4 голосов
/ 25 июня 2009

Оно должно быть в /data/data/your.package.here/databases, где your.package.here представляет пакет, связанный с вашим приложением, как определено в вашем файле AndroidManifest.xml.

1 голос
/ 26 июня 2009

Сообщение в блоге ниже дает хорошее решение о том, как найти и получить доступ к вашей базе данных. В посте рассказывается об использовании busybox, который предоставляет полезные утилиты для командной строки, для поиска вашей базы данных и несколько полезных примеров того, как использовать sqlite3 для доступа к БД и таблицам.

http://davanum.wordpress.com/2007/12/11/android-how-to-poke-around-the-sqlite3-databases/

1 голос
/ 26 июня 2009

Если вы хотите перейти к своей базе данных (которая находится в /data/data/your.package.here/databases), убедитесь, что вы являетесь пользователем root при навигации по оболочке. Для этого введите «su» после ввода командной строки. Когда вы являетесь пользователем root, вы можете перемещаться в любом месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...