Как получить базу данных sqlite с помощью команд adb?
Несколько месяцев назад я разработал приложение для windows, чтобы получить мою базу данных Android-приложения sqlite с помощью этой команды adb : adb exec-out run-as mypackagename cat /databases/mydbname.db > myPCaddress(D:\mydbname.db)
Он работал правильно, но через некоторое время, когда я хочу проверить его снова, команда копирует файл на ПК, который имеет размер 1 Кб и даже не файл базы данных! Я так запуталась и не знаю, в чем проблема.Пожалуйста, помогите мне.
Что я уже пробовал:
Я попытался с помощью : АБР -д ракушка "бег-как имя_моего_пакета кошка /сведения/сведения/имя_моего_пакета/базы данных/mydbname.дБ" &ГТ; myPCaddress (D:\mydbname.db)
и у меня есть тот же результат, и с помощью adb pull он показывает, что удаленное разрешение отклонено.
Richard MacCutchan
Ваш вопрос не совсем ясен. Что делает приложение Windows в этой ситуации?
marimir
приложение windows запускает команду adb :adb exec-out run-as mypackagename cat /databases/mydbname.db > myPCaddress(D:\mydbname.db)
Richard MacCutchan
Пожалуйста, отредактируйте свой вопрос, покажите код, в котором есть проблема, и какие результаты вы видите.
marimir
забудь об этом вопросе..
Я хочу скопировать базу данных моего android - приложения на свой компьютер с помощью команды adb. Я открылся cmd.exe и перейдите в папку adb. После выполнения этой команды ==> "adb exec-out run-as mypackagename cat /databases/mydbname.db > myPCaddress(D:\mydbname.db)" размер скопированного файла на моем ПК составляет 1 Кб, и это не файл базы данных sqlite. Это моя проблема.
Richard MacCutchan
Вы должны использовать "adb pull", который будет делать правильную двоичную копию. Команда cat предназначена для текстовых файлов.
marimir
Я тестировал ==&ГТ;"АБР тянуть /сведения/сведения/имя_моего_пакета/базы данных/mydbname.myPCaddress дБ(D:\mydbname.db)" но я получаю "удаленный отказано "
Richard MacCutchan
Используйте "adb shell run-as" с именем вашего пакета, чтобы получить доступ к частному пространству. Затем вы можете использовать команду pull в оболочке.
marimir
Я проверил ==> "adb shell run-as mypackagename" и я получаю "не удалось установить возможности: операция не разрешена"
Richard MacCutchan
Вы дали полное название пакета? В моем случае это "adb shell run-as com.utils.cardapp".
marimir
У меня нет корневого устройства, поэтому у меня нет разрешения.
Richard MacCutchan
Мое устройство не укоренено (насколько мне известно), но у него есть функция отладки, которая позволяет мне это делать. Если это проблема с устройством, то мы ничем не можем вам помочь.
marimir
вы имеете в виду отладку usb с помощью функции отладки?
Richard MacCutchan
Да, это работает на моем телефоне.
marimir
хорошо, спасибо за ваш ответ.