4

作为 Android 开发的新手,我使用Eclipse制作了一个可以在虚拟 Android 设备上完美运行的小应用程序。现在,我想在真实设备上运行它:Moverio,爱普生制造的头戴式显示器,但我的电脑无法将其识别为 Android 设备。

在 Windows 7 上,我知道我需要一个特定的 USB 驱动程序。爱普生向我发送了安装驱动程序的说明,但仍然无法正常工作。我该怎么做?

以下是我遵循的步骤:

  1. 在 \extras\google\usb_driver\android_winusb.inf 的 [Google.NTx86] 和 [Google.NTamd64] 部分添加以下两行:
    %SingleAdbInterface% = USB_Install, USB\VID_04B8&PID_0C04
    %CompositeAdbInterface% = USB_Install, USB\VID_04B8&PID_0C04&MI_01
  2. 在 [username].android\adb_usb.ini] 中添加供应商 ID
  3. 在设备上启用 USB 调试模式
  4. 按照此处给出的说明安装 USB 驱动程序http://developer.android.com/tools/extras/oem-usb.html#InstallingDriver

我在第四步遇到了一个问题:在我的设备管理面板中,Moverio 在“磁盘驱动器”类别中。当我右键单击它以安装或更新驱动程序时,输入<sdk>\extras\google\usb_driver\文件夹,它说驱动程序是最新的。当我尝试使用 Eclipse 运行该应用程序时,它要求我安装一个虚拟设备,因为它找不到任何连接的真实设备。

4

2 回答 2

7

我设法找到了一篇博文,介绍了启用ADB访问设备所需的过程。原件是日文的,谷歌翻译还有一些不足之处。

我正在提供我对以下过程的娱乐;这部分是翻译,部分是原始文档与官方文档的扩展和组合,未能涵盖 Moverio 遇到的问题。

最后指出了一些修改,我怀疑这应该适用于在其他设备上安装调试支持,默认情况下也只识别为外部数据驱动器。

  1. 您需要做的第一件事是编辑 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
    
  2. 接下来连接禁用开发者模式的设备。Windows 会将其识别为USB 大容量存储设备(MSC)。

  3. 您需要进入设备管理器并卸载它。如果您在 USB 串行总线控制器下列出了多个 USB-MSD,您可以通过断开连接来识别哪个是 Moverio,右键单击仍然存在的每个,选择属性并注意常规选项卡上的位置值。然后重新连接 Moverio 并寻找它添加的新条目。

  4. 卸载 Moverio 的 USB 大容量存储设备条目后,断开它并在设备上启用开发人员模式。

  5. 然后重新连接它。设备管理器将更新以在BT1下面显示一个条目Other Devices

  6. 右键单击 BT1 条目,选择更新驱动程序软件,mrowse我的电脑以获取驱动程序软件。提供第一步中 USB 驱动程序文件夹的路径。单击下一步

  7. 在这一点上,我收到一个关于无法验证驱动程序发布者的警告。我相信这与我编辑了 .inf 文件有关。仍然单击安装此驱动程序软件。

  8. Windows 将报告驱动程序已成功安装。关闭更新对话框。您现在应该Android Composite ADB Interface在设备管理器中看到一个条目。在我的电脑上,它出现在ASUS Android Devices; 我认为这是我过去连接的 Transformerpad 的遗产;在我用作来源的博客中,它出现在Android Phone.

  9. 但是,仍需要通知亚行该设备可用。为此,您需要编辑\.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
    
  10. 唯一剩下的就是停止并重新启动亚行。为此,请在\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 大容量存储设备条目(步骤 3);选择详细信息,选择 Hardware Ids 属性,记下显示的值,并使用它们代替android_winusb.inf文件中的 Moverio(步骤 1)和供应商 ID adb_usb.ini(步骤 10)。

可能更简单的选择

搞清楚后,我终于得到了爱普生支持的回复。他们说应该可以将他们的驱动程序直接安装到步骤 2 中确定的 USB-MSD。如果可行,它将取代步骤 3-6。不过我还没有测试过,所以我只是把这个笔记作为附言留下。

于 2013-05-21T18:20:00.643 回答
0

为 Windows 安装驱动程序可能比看起来要困难得多。根据我的经验,在任何 Linux 平台上成功开发 Android 的机会都会大得多,无论是安装在 PC 上的 Windows 安装旁边,还是在虚拟机中运行。Linux 几乎可以识别任何 Android 设备,并且无需安装任何驱动程序即可访问。

于 2012-06-25T07:22:36.397 回答