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

Разрешение sqlite3 отклонено android

Я пытаюсь получить доступ к базе данных приложения, которое я разрабатываю непосредственно на своем Nexus, но при попытке выполнить команду "sqlite3" я получаю "разрешение отклонено". Я также попытался запустить adb в корневом модуле, но опять же, разрешение было отклонено на устройстве... Думаю, мне придется делать это с эмулятором, но у меня есть много данных для загрузки, и это было бы в 10 раз быстрее с телефоном на Wi-Fi, чем с эмулятором... Разве кто-то не имеет идеи? спасибо

4b9b3361

Ответ 1

Типичный.

Я работал над этим раздражением, добавив функцию в свое приложение, которое резервирует (копирует) БД на SD-карту. adb pull работает с любыми файлами sdcard.

РЕДАКТИРОВАТЬ: исправлена ​​ошибка "adb" (была "sdp".

Ответ 2

Я боролся с этим некоторое время, так что вот мое решение, которое работает на нетронутом устройстве:

#!/bin/sh

# fill these values in
PACKAGE=com.example.android
DB=something.db 

# copy db to sdcard using package permission (using cat because no cp    command)
adb shell "run-as $PACKAGE cat /data/data/$PACKAGE/databases/$DB >   /sdcard/$DB"

# pull file from sd card
adb pull /sdcard/$DB

# do something with it (need to install sqlitebrowser obviously)
sqlitebrowser $DB

Ответ 3

Файлы защищены от чтения, вам необходимо укоренить свой телефон или использовать эмулятор.

Ответ 4

У меня была аналогичная проблема. Я вытащил sqlite3 из эмулятора и нажал на свое устройство и не смог запустить его - разрешение было отклонено.

По-видимому, двоичный файл sqlite3 не имел разрешения на выполнение (-rw-rw-rw-), поэтому chmod + x sqlite3 решил проблему.