Как получить доступ к базе данных при разработке на Android-телефоне? [Дубликат

StackOverflow https://stackoverflow.com/questions/2811615

  •  26-09-2019
  •  | 
  •  

Вопрос

Этот вопрос уже имеет ответ здесь:

У меня проблемы с доступом к базе данных, пока я развиваю на телефоне. Всякий раз, когда я выполняю

cd /data/data/com.mycompck/databases

а потом бежать ls Я получил: "opendir failed, Permission denied"

Или всякий раз, когда я ввод sqlite3 Я получил: "sqlite3: permission denied"

Что я делаю неправильно?

Существуют ли некоторые приложения, которые могут помочь мне получить человеческий вид на значения элементов контента и / или базы данных SQLite?

Это было полезно?

Решение

Чтобы ответить на первую часть вашего вопроса, проверить Этот ответ. Отказ В основном, ваш телефон должен иметь root-доступ, и вам нужно запустить ADB в корневом режиме (используя root root root).

Что касается второй части, я использую Браузер баз данных SQLite Для просмотра моих SQLite DBS (хотя это только тогда, когда БД на моем компьютере; не знаю ни одного на устройстве браузеров). Я никого не знаю, чтобы получить человеческий взгляд на довольные резольденты.

Другие советы

Проверьте мой ответ из следующего потока: Почему я получаю доступ запрещен в папку данных при использовании ADB?

Начиная с API Уровень 8 (Android 2.2), если вы создаете приложение как отладку, вы можете использовать оболочку run-as команда для запуска команды или исполняемой в качестве определенного пользователя / приложения или просто переключиться на UID вашего приложения, чтобы вы могли получить доступ к его data каталог.

Так что в основном вам нужно будет сделать сборку отладочной сборки (которая сделана автоматически Всякий раз, когда вы запускаете приложение от Android-студии, если вы не запрашиваете сборки выпуска) и выполните следующие команды:

run-as com.mycompck
cd /data/data/com.mycompck/databases
ls
sqlite3 ./yourdatabase.db

Однако обратите внимание sqlite3 Бинарный отсутствует по умолчанию на многих телефонах. Таким образом, вам, возможно, нужно будет загрузить его где-то (например, из архивов Superoneclick в http://shortfuse.org/), Сохраните на SD-карте и сделайте его исполняемым, хотя и немного сложно), например:

run-as com.mycompck
cd /data/data/com.mycompck/
cat /sdcard/sqlite3 >./sqlite3
chmod 744 ./sqlite3
./sqlite3 ./databases/yourdatabase.db

Вы должны быть root, чтобы получить доступ к любому файлу базы данных. Итак, вы можете либо получить root на вашем телефоне (ищите информацию в Google) или отладка базы данных только от эмулятора (Wicch дает вам root Access всегда).

До свидания!

Лучший способ просмотра и управления базой данных Android приложений является использование этой библиотеки https://github.com/sanathp/databasemanager_for_android.

Его один файл активности Java, просто добавьте файл Java в свою исходную папку, вы можете просмотреть таблицы в базе данных приложений, обновление, удалить, вставить строки на таблицу.

Когда разработка сделана, удалите файл Java из вашей папки SRC.

Это помогло мне много. Он тоже поможет вам.

Вы можете просмотреть 1 минуту демонстрацию здесь: http://youtu.be/p5vpagoblby.

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

Взгляните на это. С этим вы можете просмотреть вашу базу данных внутри вашего приложения. Менеджер баз данных

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

Надеюсь, поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top