Отладка в Nexus one Android в режиме USB-аксессуаров - PullRequest
3 голосов
/ 01 августа 2011

Когда мы используем Nexus One в режиме USB-аксессуаров, мы должны отключить режим ADB в телефоне.или USB-аксессуар не может получить доступ.

Кто-нибудь знает, выключен ли режим adb, как мы можем отладить apk?Я пробовал удаленную отладку.Ошибка.

Google SDK сказал: 0x2D00 зарезервировано для устройств на платформе Android, которые поддерживают режим аксессуаров.0x2D01 зарезервирован для устройств, которые поддерживают режим аксессуаров, а также протокол ADB (Android Debug Bridge), который предоставляет второй интерфейс с двумя массивными конечными точками для ADB.Вы можете использовать эти конечные точки для отладки вспомогательного приложения, если вы моделируете дополнительное устройство на компьютере.В общем, не используйте этот интерфейс, если ваш аксессуар не выполняет сквозной доступ к ADB на устройстве.

Но как мы можем активировать Nexus one с PID 2D01?Мой Nexus One работает только с 2D00

Добавить ссылку здесь: http://developer.android.com/guide/topics/usb/adk.html#determine

Ответы [ 3 ]

3 голосов
/ 05 августа 2011

Я тоже пытаюсь отладить устройство Android Accessory Mode (ADK), когда оно подключено к телефону Nexus S.Хотя я не смог отладить свое оборудование, я нашел полезным использовать систему Linux в качестве устройства режима доступа.Это позволяет использовать usbmon и Wireshark для наблюдения за базовым протоколом.

Если у кого-то есть способ отладки соединения Android-Accessory без покупки протокола USBАнализатор ( www.openvizsla.org ), пожалуйста, помогите.

Компания Nexus-Computing GmbH ( android.serverbox.ch /? P = 262 ) simplectrl.c (Linuxна стороне) и UsbTest (на стороне Android) были неоценимы и послужили основой для:

Что делать в Ubuntu 11.04 для захвата трафика USB:

1) Включить usbmon:

mount -t debugfs none_debugs /sys/kernel/debug

sudo modprobe usbmon

2) Установить программы Wireshark и вспомогательные программы:

sudo apt-get -y install flex bison wireshark libusb-dev libusb-1.0-0-dev

apt-get source libusb

3) Загрузите и установите libpcap, ( www.tcpdump.org / release / libpcap-1.1.1.tar.gz )

tar xvf libpcap-1.1.1.tar.gz

cd libpcap-1.1.1

./configure

make

sudo make install

4) Подключите устройство Android к системе Linux и убедитесь, что оноподключен:

?/android-sdk/platform-tools/adb devices

5) Compile и загрузите приложение USBTest на ваше устройство Android, используя eclipse ( developer.android.com / sdk / installation.html ) или предпочитаемый вами метод.Вам нужно установить Google API 2.3.3.Я обновил simplectrl и UsbTest с некоторыми исправлениями ошибок, чтобы они работали из коробки.Они доступны в списке поддержки библиотеки LUFA ( groups.google.com / group / lufa-support / msg / 2e6d76c92d9e828a ) как вложение.

6) Определите правильную шину USB длязахватить.lsusb выведет что-то вроде:

Bus 001 Device 057: ID 18d1:4e22 Google Inc.

Вышеуказанное означает, что ваше устройство Android подключено к шине 001.

7) Запустите Wireshark с правами rootи выберите соответствующий интерфейс захвата:

gksudo wireshark

8) Подключите систему Linux к устройству Android и запустите simplectrl:

rm ./simplectrl; gcc simplectrl.c -I/usr/include/ -o simplectrl -lusb-1.0 -I/usr/include/ -I/usr/include/libusb-1.0

9) Пример сеанса захвата Wireshark для связи simplectrl-to-USBTest доступен в виде вложения в списке поддержки библиотеки LUFA ( groups.google.com / group / lufa-support / msg / 8c740dfa58a1d1fd ).


Если вы хотите передавать данные, захваченные usbmon, вы можете сделать следующее:

1) перечислить интерфейсы usbmon: sudo ls -laR /sys/kernel/debug/usb/usbmon/

2) использовать lsusb список подключенных устройств.Вывод будет выглядеть примерно так:

Bus 001 Device 057: ID 18d1:4e22 Google Inc.

3) Вышеуказанное означает, что ваше устройство Android подключено к шине 001, поэтому вы должны захватывать данные с шины 1:

sudo sudo cat /sys/kernel/debug/usb/usbmon/1u

* Примечание. Шина 0 фиксирует все шины.u определяет формат вывода данных.Для получения дополнительной информации читайте ( www.kernel.org / doc / Documentation / usb / usbmon.txt ).

1 голос
/ 21 января 2014

Отладка USB-аксессуара через Wi-Fi возможна только на устройствах Nexus (я использовал Nexus 7 и Nexus 7 2013). Я пробовал многие другие (Samsung, Motorola), они не обнаруживают аксессуар, когда в настройках включена отладка по USB. Также пробовал аппаратный usb switcher - не помогает.

0 голосов
/ 01 августа 2011

Если вы ищете такую ​​информацию,

Nexus one не отображается в проблеме DDMS

А также посмотрите на мой ответ там.

...