问题:
在AndroidStudio 的设备选择框里面出现一堆的???和null,意思是无法识别设备。
解决方法:
首先需要执行以下命令:
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
1)在SDK目录下执行如下命令:/Android/Sdk/platform-tools$ sudo ./adb devices(目录位置要正确)
显示如下情况:
List of devices attached
2013G50RB10820707 no permissions
2)拔掉数据线,终端输入lsusb可以查看到一个列表。
3)插上数据线,终端输入lsusb可以查看到一个列表。
4)对比两条记录中的数据,将多的那一项记录下来,会看到类似这样的格式:
Bus 002 Device 014: ID 18d1:0003 Google Inc.
5)在终端中输入: sudo gedit /etc/udev/rules.d/70-android.rules,该命令将打开一个文件(70-android.rules后续还是不能显示正确的可以换成50-android.rules,本人是70亲测有效)
6)在文件中输入:SUBSYSTEM==”usb”,SYSFS{idVendor}==”18d1”,ATTRS{idProduct}==”0003”,MODE=”0666”
SYSFS{idVendor}是刚刚记录下的ID后面紧跟的4位数;
ATTRS{idProduct} 是刚刚记录的那个0003,冒号后面的数字(仔细检查,要不然到时候还是会不生效)
7)保存文件并退出
8)在终端下输入:sudo chmod a+rx /etc/udev/rules.d/70-android.rules
这句话的含义是给刚刚我们创建的文件一个权限(路径一定要输入正确,指向我们刚刚创建的文件)
9)在终端输入:sudo /etc/init.d/udev restart
我的这里提示:Restarting udev (via systemctl): udev.service.(不用管它,继续下一步)
10)在终端下输入:~/Android/Sdk/platform-tools$ sudo ./adb kill-server(指定路径下也行直接输入 sudo ./adb kill-server)
11)在终端下输入:~/Android/Sdk/platform-tools$ sudo ./adb start-server
12)在终端下输入:~/Android/Sdk/platform-tools$ sudo ./adb devices
输入完后提示:
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
2013G50RB10820707 device
说明这个设备已经成功被识别了。再看看AndroidStudio就有该设备选项了。
一般以上步骤就可以设置OK,能正常运行adb了,但是我设置了上面步骤后仍然显示:
List of devices attached
???????????? no permissions
1)可以编辑另外一个rules:
$sudo gedit /lib/udev/rules.d/50-udev-default.rules
2)查找关键字”usb_device”,找到下面位置
修改权限为
3)同时在该目录下添加新的rules文件
$sudo gedit /lib/udev/rules.d/51-android.rules
添加如下内容
SUBSYSTEM=”usb”, ENV{DEVTYPE}==”usb_device”, ATTRS{idVendor}==”05c6”, MODE=”0666”
4)然后保存退出,再设置一下权限
$sudo chmod a+rx /lib/udev/rules.d/51-android.rules
5)再运行命令,重启udev:
$sudo service udev restart
或 $sudo /etc/init.d/udev restart
6)拔掉usb重新连上再执行:
$adb kill-server
$adb devices
输入完后提示:
List of devices attached
6442cc4f device