我是靠谱客的博主 超帅微笑,最近开发中收集的这篇文章主要介绍Ubuntu下执行Adb devices Android找不到设备,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

近段时间需要由MTK平台转到Qcom平台开发,发现执行adb devices 命令,显示找不到设备,最后通过强大的度娘成功地解决问题,解决方案如下:

1) 在终端运行 lsusb,找到设备ID

结果显示:

hwruanjian@hwruanjian-Name:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 010: ID 271d:9015
2、注册到udev的rules文件

vim
/etc/udev/rules.d/51-android.rules
添加这个ID:1ebf,如下:
SUBSYSTEM=="usb", ATTR{idVendor}=="<span style="color: rgb(51, 51, 51); line-height: 24px; font-family: Arial; ">271d</span>", MODE="0666"
保存文件并运行:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart
运行结果如下:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service udev restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop udev ; start udev. The restart(8) utility is also available.
udev stop/waiting
udev start/running, process 14636 
3、启动adb的服务

cd ~/tools/android-sdk-linux_x86/platform-tools
sudo ./adb kill-server
sudo ./adb start-server

一般情况,到此就可以直接用 adb 来进行操作了。然而,以上方法还不管用(本人情况),则执行以下操作:

1)使用lsusb查找到devID

2)以16进制写入到本地电脑隐藏目录文件[/home/用户名/.android/adb_usb.ini]中(如果不存在,就创建一个)。
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x271D
3)最后打开一个命令行执行./adb devices即可

Tips:
1)查看当前使用的adb:which adb
2)搜索到设备,显示没有权限
注意:量产版本是不允许用adb调试的 原理: 
adb权限受ro.secure这个属性控制,ro.secure =1 时adb权限受限,很多功能不能使用。 该属性在手机根目录的default.prop文件中,手机根目录, 也即root文件系统和kernel一起打包在boot.img中。 
在本地编译时user_variant为空,ro.secure = 0,adb调试不受限。 
在提交版本发布请求时,人为填了一个值,ro.secure=1,所以从服务器下载的bin版本,有的就没有adb调试权限  
解决方案: 
  在本地用最新的代码编译bootimage 
./mk  bootimage  
用flashtools 单独下载本地编译生成的bootimage(boot.img)













最后

以上就是超帅微笑为你收集整理的Ubuntu下执行Adb devices Android找不到设备的全部内容,希望文章能够帮你解决Ubuntu下执行Adb devices Android找不到设备所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(255)

评论列表共有 0 条评论

立即
投稿
返回
顶部