Проблема извлечения файла из эмулятора с помощью команды GUI -OR- adb - PullRequest
2 голосов
/ 02 марта 2011

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

[2011-03-01 20:15:51] Не удалось получить выделение

[2011-03-01 20:15:51] (ноль)

Итак, я попробовал командную строку adb, и, хотя он, похоже, видит файл, его нет на HD. Я пробовал несколько синтаксисов с передней / задней косой чертой в пути и кавычки вокруг имени файла без явного пути. Я получаю «374 кбит / с (6144 б)» или что-то еще, предполагающее успешное извлечение, но файла там нет.

Ответы [ 5 ]

8 голосов
/ 27 мая 2011

Перезапуск Eclipse исправил это для меня (меню «Файл», опция «Перезапуск»).

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

Вам просто нужно добавить последовательность шагов и команд:

1- Перейдите в каталог, где находятся инструменты вашей платформы.

(у меня есть: C: \ Program Files (x86) \ Android \ android-sdk \ platform-tools)

2 - Нажмите правую кнопку Ctrl + Shitt + Mouse и выберите «Открыть командное окно здесь»

(чтобы открыть командную строку, вы также можете открыть командную строку и ввести команду: cd C: \ Program Files (x86) \ Android \ android-sdk \ platform-tools)

3- После открытия оболочки введите следующие команды

adb shell
su
chmod 777 /data /data/data 
chmod 777  /data/data/package_name_of_your_android_project
chmod 777  /data/data/package_name_of_your_android_project/databases

Если вы ввели это, теперь вы можете видеть базы данных, и если вы нажмете кнопку извлечения в DDMS, то возникнет ошибка. Но вам нужно набрать эту последнюю команду:

chmod 777  /data/data/package_name_of_your_android_project/databases/your_database_name

Итак, это полная последовательность команд:

adb shell
su
chmod 777 /data /data/data 
chmod 777  /data/data/package_name_of_your_android_project
chmod 777  /data/data/package_name_of_your_android_project/databases 
chmod 777  /data/data/package_name_of_your_android_project/databases/your_database_name
1 голос
/ 02 марта 2011

Вы пытаетесь вытащить из /data/data/your.application.name? Вы на рабочем телефоне? Если так, возможно, вам не повезло; производственные телефоны запрещают доступ к этому каталогу.

Вы указываете и имена источника и назначения?

adb pull /sdcard/name.of.file.db name.of.file.db

adb настаивает на том, чтобы имя назначения было именем файла, а не каталогом; в частности, . в значении «поместить файл в CWD» не будет работать.

Кроме этого, не знаю. Ваш отчет звучит немного странно.

Может оказаться полезным попытаться создать AVD (эмулируемое устройство) и развернуть его. AVD не являются производственными устройствами, и поэтому вы можете делать то, что вам не позволят реальные телефоны, например возиться в области личных данных вашего приложения. Если это проблема с разрешениями, она будет работать вокруг нее.

0 голосов
/ 06 августа 2012

Если вы запускаете эмулятор на VirtualBox, проблема может быть в разрешениях. Таким образом, измените разрешения из запущенного эмулятора с помощью Alt + F1 и

chmod 775 myfile.db
0 голосов
/ 02 марта 2011

Перезагрузка исправила проблему с использованием извлечения DDMS через графический интерфейс.

...