Android开发新手,我使用Eclipse创建了一个小应用程序,可以在虚拟Android设备上完美运行。现在,我想在真实的设备上运行它:Moverio,一个由Epson制造的头戴式显示器,但我的电脑只是不认为它是一个Android设备。
在Windows 7上,我知道我需要一个特定的USB驱动程序。爱普生发给我安装驱动程序的说明,但它仍然无法正常工作。我该怎么办?
以下是我遵循的步骤:
%SingleAdbInterface% = USB_Install, USB\VID_04B8&PID_0C04
%CompositeAdbInterface% = USB_Install, USB\VID_04B8&PID_0C04&MI_01
我在第四步遇到了问题:在我的设备管理面板中,Moverio处于“磁盘驱动器”类别。当我右键单击它以安装或更新驱动程序时,输入<sdk>\extras\google\usb_driver\
文件夹,它说驱动程序是最新的。
当我尝试使用Eclipse运行应用程序时,它会要求我安装虚拟设备,因为它找不到任何连接的真实设备。
答案 0 :(得分:7)
我设法找到一篇博客文章,介绍了启用ADB访问设备所需的过程。 original是日文版,Google translation留下了一些不足之处。
我正在重新制作以下流程;这部分是翻译,部分是原件与官方documentation的扩展和组合,未能涵盖Moverio遇到的问题。
最后注意到一些修改,我怀疑这应该适用于在默认情况下仅识别为外部数据驱动器的其他设备上安装调试支持。
您需要做的第一件事是编辑Google USB驱动程序的.inf文件。
该文件位于\android-sdk\extras\google\usb_driver\android_winusb.inf
。
默认情况下,android-sdk
文件夹位于C:\User\YourUserName\AppData\Local\Android\
。
您需要将以下行添加到文件末尾:
[Google.NTamd64]
; BT-100
%SingleAdbInterface% = USB_Install, USB\VID_04B8&PID_0C04
%CompositeAdbInterface% = USB_Install, USB\VID_04B8&PID_0C04&MI_01
接下来,在禁用开发者模式的情况下连接设备。 Windows会将其标识为USB mass storage device(MSC)。
您需要进入Device Manager并卸载它。如果USB串行总线控制器下列出了多个USB-MSD,则可以通过断开连接来识别哪一个是Moverio,右键单击仍然存在的每个,选择属性并在常规选项卡上注意位置值。然后重新连接Moverio并查找它添加的新条目。
卸下Moverio的USB海量存储设备条目后,断开连接并在设备上启用开发者模式。
然后重新连接。设备管理器将更新以在BT1
Other Devices
条目
右键单击BT1条目,选择更新驱动程序软件,然后选择我的电脑以获取驱动程序软件。从第一步提供USB驱动程序文件夹的路径。点击下一步。
此时我收到一条警告,说明无法验证驱动程序的发布者。我相信这与我编辑.inf文件有关。无论如何,请单击安装此驱动程序软件。
Windows将报告驱动程序已成功安装。关闭更新对话框。您现在应该在设备管理器中看到Android Composite ADB Interface
条目。在我的电脑上,它出现在ASUS Android Devices
下;我假设这是我过去连接的Transformerpad的遗产;在我使用的博客中,它出现在Android Phone
下。
然而,仍然需要通知ADB该设备可用。为此,您需要编辑\.Android\adb_usb.ini
文件。默认位置C:\User\YourUserName\
,将供应商ID作为新行附加到末尾。这是一个自动生成的文件;但是在评论中运行更新过程将删除我们需要的条目。如果你意外地失去了调试能力,这可能是重新检查的好地方。
# ANDROID 3RD PARTY USB VENDOR ID LIST - DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x04B8
唯一剩下的就是停止并重启ADB。为此,请在\android-sdk\platform-tools
处打开命令提示符。发出命令adb kill-server
,然后发出命令adb devices
。
C:\Users\Neelyd\AppData\Local\Android\android-sdk\platform-tools>adb kill-server
C:\Users\Neelyd\AppData\Local\Android\android-sdk\platform-tools>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
WS000 device
当ADB重新启动时,应列出该设备,并在Eclipse中的DDMS中显示。
要使用此过程在其他设备上安装通用Android USB驱动程序,我认为您需要做的就是右键单击设备管理器中设备的USB Mass Storage Device条目(步骤3);选择详细信息,选择Hardware Ids属性,记下显示的值,并使用它们代替android_winusb.inf
文件中的Moverio(步骤1),以及adb_usb.ini
中的供应商ID(步骤10)。
可能更简单的选项
在搞清楚之后,我终于得到了爱普生支持的答复。他们说应该可以将他们的驱动程序直接安装到步骤2中确定的USB-MSD上。如果可行,它将取代步骤3-6。我没有测试过,所以我只留下这个笔记作为后记。
答案 1 :(得分:0)
安装Windows驱动程序可能比看起来困难得多。根据我的经验,您可以在任何Linux平台上更好地成功开发Android,无论是安装在PC上的Windows安装旁边还是在虚拟机中运行。 Linux几乎可识别任何Android设备,并允许在没有任何驱动程序安装的情况下进行访问。