AS无法连接真机的解决方案

调试Android程序的时候,如果需要摄像头了,虚拟机就用不上了,需要连接真机。虽然连接真机很容易,但是后续因为Win10系统原因造成又无法连接成功,因此针对连接问题总结其解决方案。

基本方法

一般来说,当我们将手机插入电脑后,如果之前没安装过驱动,则基本是会出现设备管理器有不可识别的设备。这种情况下(或从未安装任何驱动的情况下)使用下面的方法安装驱动即可。

  • 在AS上打开SDK管理器,选择 SDK Tools,选择 Google USB Driver,进行下载
  • 在设备管理器中,选择无法识别的设备,右键点击 更新驱动程序
  • 在弹出的对话框,选择 浏览我的计算机以查找驱动程序软件
  • 在弹出的文件夹选择对话框选择驱动目录,一般在SDK目录下的 EXTRAS\GOOGLE\USB_DRIVER

SDK目录一般默认在 C:\USERS\用户名\APPDATA\LOCAL\ANDROID 目录下

终极办法

上面的方法基本是在最开始的时候可以解决问题,但是Win10系统是自动更新驱动的。现在安装的驱动虽然没有被卸载,但是会被其他驱动使用设备。在AS调试的时候,依然是无法看到手机,而且这种情况下,即使再次按照上面的方法安装驱动也大概率没有作用。因此这种情况下使用修改配置文件的方法。

  • 首先打开系统的 设备管理器,找到手机设备,然后双击手机设备,会出现设备属性

  • 然后切换到 详细信息 标签页,在标签页内的 属性 下拉框选择 硬件ID,然后可以看到类似

    HID\VID_XXXX&...
    HID\VID_YYYY&...

    的两行字符串,将其中 VID_ 之后的16进制数(4个字符)拷贝

  • 在当前用户目录下的打开 .android/adb_usb.ini(没有则创建),配置下面内容(根据实际ID替换)

    0x12D1
    0x107E
    

    重启ADB服务,就可以正常使用了。

最近的文章

C/C++执行命令并获取输出结果

在C/C++中执行指定命令是比较常见的功能,但是其输出对调用者来讲是非常重要的参考,亦或者通过获知调用程序运行成功与否做下一步处理。 Win32平台方法Win32平台上的程序员貌似总不是对返回码那么感兴趣,不像Linux程序员随随便便在脚本都是 $?,但事实上确实是有专门的API提供了方法,而且总体 …

技术 继续阅读
更早的文章

JAR使用JNA并打包dll

搞Java的同学应该都清楚,Java与C++交互方式是通过DLL,使用JNI技术,也就是现在Android上最常用的方式,但其实现在有更高层次的封装了,那就是JNA方式。虽然JNA使用很简单,但是发布却比较麻烦,特别是参考网上的文章基本很少有正确的方法,本文将详述正确的方法。 JNA的使用JNA(J …

技术 继续阅读