Запускайте команды оболочки adb из скрипта, не выходя из оболочки - PullRequest
2 голосов
/ 25 ноября 2011

Я пытаюсь создать скрипт для упрощения проверки данных с помощью sqlite.Для меня довольно проблематично писать:

adb shell
sqlite /data/data/my.package.name/databases/mydatabse.db

каждый раз, когда я хочу что-то проверить в БД (и на начальных этапах разработки БД это довольно часто), особенно потому, что завершение TAB не кажетсяработать (по крайней мере, для меня).Поэтому я попытался написать сценарий для автоматического открытия базы данных для меня, но в документации Android четко говорится, что:

shell [<shellCommand>] - Issues a shell command in the target emulator/device 
                         instance and then exits the remote shell.

Так что мне было интересно, будет ли как-то обойти это, чтобы моя оболочка моглапродолжайте работать, и я мог бы использовать программу командной строки sqlite3.С небольшой помощью здесь я смог создать сценарии, которые запускают конкретные запросы к базе данных, например (но я бы хотел, чтобы программа командной строки sqlite работала):

#!/bin/bash
adb shell sqlite3 /data/data/my.package.name/databases/mydatabse.db "select * from someTable"

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 14 июня 2016

Вы можете попробовать добавить кавычки вокруг ваших команд adb, как упомянуто здесь .

adb shell "sqlite /data/data/my.package.name/databases/mydatabse.db"

Убедитесь, что у вас есть разрешение на доступ к вашей базе данных (чтение / запись).

Опубликован код GitHub для дампа базы данных, начиная с здесь .Прямая ссылка: https://github.com/Pixplicity/humpty-dumpty-android/blob/master/humpty.sh

0 голосов
/ 06 декабря 2011

Как насчет использования команды adb shell

Затем запустите: sqlite /data/data/my.package.name/databases/mydatabse.db

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

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