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

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

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

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

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


person 333Matt    schedule 02.03.2011    source источник
comment
У меня такая же проблема, я исправил ее, см. мой ответ [здесь] [1] [1]: stackoverflow.com/a/14752672/1939564< /а>   -  person Muhammad Babar    schedule 07.02.2013


Ответы (5)


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

person Jeff Axelrod    schedule 27.05.2011

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

Указываете ли вы и имя источника и назначения?

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

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

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

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

person David Given    schedule 02.03.2011
comment
Что ж, перезагрузите дурацкий компьютер, и GUI заработает. Мне любопытно, однако, если вы не укажете имя пути в командной строке, оно просто запишет его в каталог, из которого вы запускаете adb.exe, или ??? - person 333Matt; 02.03.2011
comment
Нет, он стонет на вас. adb может быть одним из лучших инструментов для мобильной разработки, с которыми я когда-либо сталкивался (попробуйте, например, Symbian однажды), но его еще можно улучшить... - person David Given; 03.03.2011
comment
Само название вопроса дает понять, что проблема возникла на эмуляторе, а не на серийном телефоне. - person Chris Stratton; 08.04.2014

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

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

(У меня это: C:\Program Files (x86)\Android\android-sdk\platform-tools)

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

(Это чтобы открыть командную строку, вы также можете открыть командную строку и ввести команду: 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
person Sterling Diaz    schedule 10.04.2014

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

person 333Matt    schedule 02.03.2011
comment
Перезагрузка телефона, перезагрузка Eclipse или перезагрузка ПК? - person Jeff Axelrod; 27.05.2011

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

chmod 775 myfile.db
person ACV    schedule 06.08.2012