安装Epson Moverio驱动程序的USB问题


Android

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

在Windows 7上,我明白我需要一个特定的USB驱动程序。爱普生向我发送了安装驱动程序的说明,但它仍然不起作用。我该怎么做?

以下是我遵循的步骤:

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

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

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

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

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

  1. 您需要做的第一件事是编辑Google USB驱动程序的.inf文件。

    该文件位于 android-sdkextrasgoogleusb_driverandroid_winusb.inf

    默认情况下,android-sdk文件夹位于 C:UserYourUserNameAppDataLocalAndroid 下。

    您需要在文件末尾添加以下行:

    [Google.NTamd64]
    ; BT-100
    %SingleAdbInterface% = USB_Install, USBVID_04B8&PID_0C04
    %CompositeAdbInterface% = USB_Install, USBVID_04B8&PID_0C04&MI_01
    
  2. 接下来,在禁用开发人员模式的情况下连接设备。Windows会将其识别为USB大容量存储设备(MSC)。

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

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

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

  6. 右键单击BT1条目,选择更新驱动程序软件,浏览我的电脑以查找驱动程序软件。提供步骤 1 中 USB 驱动程序文件夹的路径。单击下一步

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

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

  9. 但是,ADB仍然需要被告知该设备可用。为此,您需要编辑.Androidadb_usb.ini文件。通过将供应商 ID 作为新行追加到末尾来C:UserYourUserName的默认位置。这是一个自动生成的文件;但是在注释中运行更新过程将删除我们需要的条目。如果您意外地失去了调试功能,这可能是重新检查的好地方。

    # 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-sdkplatform-tools 处打开命令提示符。发出命令adb kill-server后跟命令adb devices

    C:UsersNeelydAppDataLocalAndroidandroid-sdkplatform-tools>adb kill-server
    C:UsersNeelydAppDataLocalAndroidandroid-sdkplatform-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); 选择详细信息,选择"硬件 ID"属性,记下显示的值,并使用它们代替android_winusb.inf文件中的 Moverio(步骤 1), 以及adb_usb.ini中的供应商 ID(步骤 10)。

可能更简单的选择

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

安装Windows驱动程序可能比看起来要困难得多。根据我的经验,在任何Linux平台上成功开发Android的机会要大得多,无论是安装在PC上的Windows安装旁边还是在虚拟机箱中运行。Linux确实可以识别几乎所有Android设备,并允许在不安装任何驱动程序的情况下进行访问。

最新更新