Подтвердить что ты не робот

Доступ к базе данных sqlite на устройстве Android

Я пытаюсь получить доступ к файлу базы данных sqlite на устройстве. Я имею в виду, что я запустил приложение на устройстве через adb. И теперь я хочу загрузить этот файл, как и раньше, на эмулятор через DDMS. Но когда я выбираю устройство на DDMS и открываю данные папки, он пуст.

Правильно ли это? Или есть другой способ загрузить этот файл db.

Спасибо.

4b9b3361

Ответ 1

Вы можете получить доступ к папке с данными без root, если приложение отлаживается

<application
 ...
        android:debuggable="true"
 ...

Чтобы перечислить базовый каталог:

adb shell "run-as com.your.package ls -l"

Чтобы скопировать файл:

adb shell "run-as com.your.package cat relative/path > /sdcard/some_name"
adb pull /sdcard/some_name

К сожалению, pre-ICS run-as довольно затруднительно. Обычным симптомом является

run-as: Package 'com.your.package' is unknown

сообщение.

Ответ 2

Вы пробовали adb напрямую?

adb pull /data/data/the.package.of.the.app/databases/the_name_of_the_database.db