Android - FileExplorer затмение от имени root - PullRequest
4 голосов
/ 09 марта 2011

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

adb shell
su 
cd data/data/.../databases/
sqlite3 events.db

Теперь это работает нормально, но яхочу иметь возможность извлечь файл и просмотреть его с помощью графического приложения SQLITE / браузера (например, плагина Firefox)

Раньше я имел доступ к папке данных из Eclipse с помощью FileExplorer, но он внезапно перестал работатьи мне просто интересно, есть ли способ сделать это снова ..

Спасибо

Ответы [ 3 ]

5 голосов
/ 15 сентября 2013

После долгих исследований в Google я упростил доступ к базе данных SQLite в Eclipse.Я соберу свое исследование в ответе здесь для доступа к базе данных SQLite на подключенном или эмулированном телефоне Android для просмотра в Eclipse .

Для просмотра файлов из определенного приложения на вашем устройстве,предоставить права на чтение и доступ к каждой папке на пути к приложению.

  1. Открыть cmd / терминал
  2. Тип 'adb shell'
  3. su
  4. Нажмите «Разрешить» на устройстве
  5. chmod777 / data / data / data /data/data/com.application.package
  6. chmod -R 777 /data/data/com.application.package

После этого вам следуетвозможность просматривать файлы на устройстве.

Очень полезный плагин Eclipse для просмотра базы данных SQLite на телефоне Android из Eclipse - это, похоже, больше не поддерживается плагин Questoid для браузера

  1. В настоящее время вы можете загрузить плагин из Java2S здесь: http://www.java2s.com/Code/Jar/c/Downloadcomquestoidsqlitebrowser120jar.htm
  2. Поместите файл плагина com.questoid.sqlitebrowser_1.2.0.jar в папку плагинов Eclipse (например, / path/ to / eclipse / plugins)
  3. Перезапустить Eclipse
  4. Переключиться на перспективу DDMS в Eclipse
  5. Выбрать подходящее устройство (в данном случае ваш телефон, но в качестве альтернативы ваш эмулятор Android)
  6. Перейдите на вкладку «Проводник», чтобы просмотреть файлы устройства
  7. В Eclipse, в Проводнике файлов, есть синий 3-слойный цилиндрический цилиндрзначок в правом верхнем углу окна проводника, который вы щелкаете.

    Щелкните синий значок 3-слойного блиноподобного цилиндра в верхнем правом углу окна проводника http://www.tylerfrankenstein.com/sites/default/files/styles/large/public/questoid.png

    Откроется файл базы данных на вкладке Questoid в том же окне, что и LogCat.

  8. Перейдите на вкладку «Questoid SQLite Browser»
  9. Нажмите на «Обзор данных»подвкладка
  10. Выберите вашу таблицу из выпадающего меню
  11. И ... у вас есть данные для удовольствия от просмотра

Надеюсь, вы, ребята, найдете этот пост более конкретнополезно в качестве пошагового просмотра вашей базы данных.


Ссылки

3 голосов
/ 08 августа 2011

Сейчас кажется, что ваше устройство настроено так, что оболочка adb не является root по умолчанию, и вы должны использовать su для получения оболочки root. Исследователь файлов DDMS в eclipse не будет этого делать, поэтому он будет иметь доступ с правами root только в том случае, если adbd настроен для запуска с правами root и по умолчанию предоставляет клиентам root доступ.

Вы можете проверить это из оболочки adb с помощью

ps 

(и посмотрите, запущен ли процесс 'ps как root или shell) или

getprop ro.secure

Используя оболочку su root, вы можете перемонтировать корневую файловую систему и изменить ro.secure на 0 в default.prop - помимо прочего, это приведет к тому, что adbd будет работать от имени root и по умолчанию предоставит корневые оболочки. Тем не менее, это имеет значение для безопасности, и вы можете не захотеть оставить это так. Вам нужно было бы выполнить поиск в Интернете точной команды перемонтирования оболочки для вашего конкретного устройства (поскольку adb удобство не будет работать в случае, когда adbd еще не был root).

Вы также можете посмотреть, сработает ли команда 'adb root', чтобы перевести adbd в корневой режим.

Может случиться так, что ваша система не «укоренена» в смысле внесения каких-либо изменений в конфигурацию, а вместо этого только в том смысле, что имеется пользовательский двоичный пакет su, который позволит непривилегированным пользователям, которые знают о возможности получить root shell - стандартные инструменты не будут знать об этой возможности и не смогут.

1 голос
/ 12 августа 2011

Вы можете попробовать

adb pull /data/data/.../databases/events.db

или что-то подобное, чтобы вытянуть файл sqlite на жесткий диск и открыть его.

...