Android - затмение FileExplorer от имени пользователя root

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

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

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

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

Спасибо


person kkudi    schedule 09.03.2011    source источник
comment
У меня такая же проблема. Вы нашли решение?   -  person    schedule 01.05.2011


Ответы (3)


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

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

ps 

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

getprop ro.secure

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

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

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

person Chris Stratton    schedule 08.08.2011

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

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

  1. Откройте cmd/терминал
  2. Введите «оболочка adb»
  3. su
  4. Нажмите «Разрешить» на устройстве
  5. chmod 777 /данные /данные/данные /данные/данные/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. Перезапустите затмение
  4. Переключиться на перспективу DDMS в Eclipse
  5. Выберите подходящее устройство (в данном случае ваш телефон или эмулятор Android)
  6. Перейдите на вкладку «Проводник», чтобы просмотреть файлы устройства.
  7. Найдите и выберите базу данных в /data/data/com.application.package/databases/database_name.
  8. В Eclipse в проводнике файлов есть синий трехслойный значок цилиндра, похожий на блин, в правом верхнем углу окна проводника, по которому вы щелкаете.

    http://www.tylerfrankenstein.com/sites/default/files/styles/large/public/questoid.png

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

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

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


использованная литература

person garromark    schedule 15.09.2013
comment
Это не только позволит Eclipse просматривать/изменять файлы, но и дает одинаковые разрешения ВСЕМ пользователям на постоянной основе (пока вы не установите разрешения обратно). - person Andrey; 26.09.2013

Можешь попробовать

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

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

person Fernando Gallego    schedule 12.08.2011