在Nexus一种Android USB附件模式下进行调试

在Nexus一种Android USB附件模式下进行调试,第1张

概述当我们在USB配件模式下使用NexusOne时,应关闭手机中的adb模式.或USB附件无法访问.有人知道adb模式是否已关闭,我们如何调试apk?我尝试了远程调试.失败了GoogleSDK说: 0x2D00保留用于支持附件模式的Android设备.0x2D01保留用于支持附件模式以及ADB(Android调试桥)协议的设备,该

当我们在USB配件模式下使用Nexus One时,应关闭手机中的adb模式.或USB附件无法访问.

有人知道adb模式是否已关闭,我们如何调试apk?
我尝试了远程调试.失败了

Google SDK说:
 0x2D00保留用于支持附件模式的Android设备. 0x2D01保留用于支持附件模式以及ADB(AndroID调试桥)协议的设备,该协议公开了带有两个ADB批量端点的第二个接口.如果要在计算机上模拟附件,则可以使用这些端点来调试附件应用程序.通常,除非附件在设备上实现对ADB的直通,否则不要使用此接口.

但是,如何使用PID 2D01激活Nexus 1?我的Nexus One仅适用于2D00

在此处添加参考:
http://developer.android.com/guide/topics/usb/adk.html#determine

解决方法:

我也正在尝试调试连接到Nexus S手机的AndroID附件模式(ADK)设备.尽管无法调试硬件,但发现将linux系统用作附件模式设备很有用.这允许使用usbmon和Wireshark来观察基础协议.

如果有人可以在不购买USB协议分析器(www.openvizsla.org)的情况下调试AndroID到附件的通信,请提供帮助.

Nexus-Computing GmbH的(androID.serverBox.ch/?p=262)simplectrl.c(linux端)和UsbTest(AndroID端)非常宝贵,其依据如下:

在Ubuntu 11.04下如何捕获USB流量:

1)启用usbmon:

挂载-t deBUGfs none_deBUGs / sys / kernel / deBUG

须藤modprobe usbmon

2)安装Wireshark和帮助程序:

须藤apt-get -y install flex野牛wireshark libusb-dev libusb-1.0-0-dev

apt-get source libusb

3)下载并安装libpcap,(www.tcpdump.org/release/libpcap-1.1.1.tar.gz)

焦油xvf libpcap-1.1.1.tar.gz

光盘libpcap-1.1.1

./配置

使

须藤使安装

4)将您的AndroID设备连接到linux系统,并确保已连接:

?/ androID-sdk / platform-tools / adb设备

5)使用eclipse(developer.androID.com/sdk/installing.HTML)或您的首选方法,将USBTest App编译并上传到您的AndroID设备上.您需要安装Google Apis 2.3.3.我已经更新了simplectrl和UsbTest,其中包含一些错误修复,以确保它们开箱即用.它们可以作为附件在LUFA库支持列表(groups.Google.com/group/lufa-support/msg/2e6d76c92d9e828a)上找到.

6)确定要捕获的正确USB总线. lsusb将输出如下内容:

总线001设备057:ID 18d1:4e22 Google Inc.

以上表示您的AndroID设备在Bus 001上.

7)使用root特权启动Wireshark并选择适当的捕获接口:

gksudo Wireshk

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)LUFA库支持列表(groups.Google.com/group/lufa-support/msg/8c740dfa58a1d1fd)上有附件,提供了simplectrl-to-USBTest通信的Wireshark捕获会话示例.

如果要流式传输usbmon捕获的数据,可以执行以下 *** 作:

1)列出usbmon接口:sudo ls -laR / sys / kernel / deBUG / usb / usbmon /

2)使用lsusb列出连接的设备.输出将类似于:

总线001设备057:ID 18d1:4e22 Google Inc.

3)以上表示您的AndroID设备位于Bus 001上,因此您应该从bus 1捕获数据:

须藤须藤猫/ sys / kernel / deBUG / usb / usbmon / 1u

*注意总线0捕获所有总线. u定义数据的输出格式.有关更多信息,请阅读(www.kernel.org/doc/documentation/usb/usbmon.txt).

总结

以上是内存溢出为你收集整理的在Nexus一种Android USB附件模式下进行调试全部内容,希望文章能够帮你解决在Nexus一种Android USB附件模式下进行调试所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1083885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存