Как установить или получить доступ к sqlite3 из оболочки adb - PullRequest
15 голосов
/ 30 марта 2011

Мне нужен способ установить или как-то получить доступ к sqlite3 в оболочке adb. Я рутировал свое устройство.

Я пытался найти ответ, но я мог прийти к следующему: Почему я получаю ошибку "sqlite3: not found" на Rox Nexus One при попытке открыть базу данных с помощью оболочки adb?

Но я не думаю, что будет хорошей идеей помещать мой windows sqlite3.exe в систему linux?

Так можно ли как-нибудь установить браузер терминала sqlite3?

[РЕШЕНИЕ]

Из разных комментариев и некоторых расспросов на # android-dev (irc) я нашел решение. Сначала я скопировал файл базы данных на рабочий стол. Но сначала мне пришлось установить BusyBox, потому что cp не включен?!? После этого я столкнулся с проблемой, которую я не мог ни тянуть, ни толкнуть, кроме / sdcard /. Затем я мог бы использовать / SDCard / в качестве «средней станции» и тянуть / толкать мою БД.

Тогда я устал! Я действительно должен был исследовать свой терминал sqlite. Тогда у меня появилась идея запустить эмулятор, извлекая двоичный файл sqlite из / system / xbin / sqlite3. Затем перемонтируйте / систему с помощью rw:

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

и нажмите sqlite на / sdcard /, а затем скопируйте его в / system / xbin /

Теперь все работает: D

Ответы [ 4 ]

5 голосов
/ 21 марта 2013

Скачать это приложение из Google Play поможет вам установить sqlite3 на android https://play.google.com/store/apps/details?id=ptSoft.util.sqlite3forroot

1 голос
/ 09 апреля 2014

Вы можете сделать это с помощью adb shell без проблем.

В терминале или CMD (при условии, что у вас установлен путь ADB, а в вашем телефоне ROOT) введите:

  1. $ adb shell
  2. $ cd data/data/com.nameofyourpackage/databases/
  3. $ ls to find the name of your database
  4. $ sqlite3 nameofyourdb.db

Затем вы можете использовать .tables .schema, чтобы просмотреть данные, необходимые для создания соответствующего запроса.

1 голос
/ 30 марта 2011

Я использую технику Раджата ... Adb "Потяните" БД из эмулятора / устройства, поработайте над ним, затем adb "протолкните" его обратно / в устройство эмулятора.

также: я используюбесплатный редактор SQLite от Android Market.Я не рутировал своего LG Ally и поэтому могу редактировать таблицы базы данных на моей SD-карте только с помощью редактора SQLite.

Раджат предлагает использовать adb для извлечения и извлечения баз данных из эмулятора / устройства и обратно.Работа с базой данных с помощью программы Windows (или любой другой программы) sqlite3.Он не предлагает помещать windows sqlite3 на устройство Android, IMHO.

Я отмечаю, что java / android "query ()" посылает действительные команды SQL программно для тех программ, которые вводятся пользователем.Я пришел к выводу, что sqlite3 где-то в Android.

При использовании эмулятора Dev Tools доступен, а внизу списка находится Эмулятор терминала.Это позволяет исследовать файловую структуру Android в эмуляторе.Однако использование «adb shell» с ПК имеет права root.

удачи.Кактус Митч

0 голосов
/ 07 апреля 2017

Вам не нужен root для извлечения базы данных с вашего устройства. Просто выполните следующие команды:

adb shell run-as <package-name> "cp databases/<db_name>.db /sdcard/ && exit"
adb pull /sdcard/<db_name>.db ~/Downloads/

Оттуда вы можете использовать sqlite3 для любой операционной системы, которую вы используете (http://www.sqlite.org/download.html), или браузер sqlite, такой как «Браузер БД для SQLite» (http://sqlitebrowser.org/)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...