Ubuntu下adb的使用及常见问题处理

Ubuntu下adb的使用及常见问题处理

一、如何使用adb

1、adb工具的安装

方案一:使用ubuntu系统自带的安装包

sudo apt-get install android-tools-adb

或者

sudo apt-get install adb

方案二:使用Android源码编译生成的adb文件

Android源码编译完成之后,会在编译过的项目目录下./out/host/linux-x86/bin/生成adb文件,需要将其拷贝到系统的/usr/bin目录下,并更改权限。

sudo cp /home/apuser/code/out/host/linux-x86/bin/adb /usr/bin

sudo chmod a+x /usr/bin/adb  

说明:这个adb文件也可以在android-sdk-linux下的platform-tools目录下找到。

2、检查是否安装成功

在终端运行 adb help或者adb查看adb是否安装成功。

adb help

或者

adb

正常情况下,可看到adb的版本信息,以及adb支持的相关指令和说明。

3、创建设备USB专用VID

mkdir~/.android

echo 0x1782 > ~/.android/adb_usb.ini

可以查看/home/apuser/.android/adb_usb.ini是否生成成功,且内容为0x1782

这个0x1782是设备的VID号,可以使用lsusb指令查询自己设备的VID号是多少,如果是调试多个设备,可依次将设备的VID号添加到adb_usb.ini中

备注:展讯为0x1782,MTK为0x0e8d,高通为0x056c

4、将设备添加到规则列表中

到:/etc/udev/rules.d/51-android.rules命令:

cd /etc/udev/rules.d  

sudo gedit/etc/udev/rules.d/51-android.rules  

添加

SUBSYSTEM=="usb",SYSFS{idVendor}=="1782", MODE="0666",GROUP="plugdev"

其中 1782 为展讯设备号,也可以通过lsusb 来查看所有 usb 设备。

说明:

1、展讯的设备号是1782,MTK的设备号是0e8d,高通660的设备号是056c,

其他平台的可查找确认后,填写到这里。

2、如果没有/etc/udev/rules.d/51-android.rules 文件,需要自己创建一下。

3、修改/etc/udev/rules.d/51-android.rules不需要重启Linux机器,重新插拔一下设备就可以了。再次运行adb devices就可以看到你的设备已经连接。

5、重新插入设备

在命令窗口执行adb shell; adb devices

6. 到此为止, adb 可以使用

可以shell登录手机,也可以出 log, logcate 具体命令还需要学习。

二、adb使用常见问题处理

1、no permissions (user in plugdev group; are your udev rules wrong?)问题的处理:

使用上文的步骤操作之后,大多数系统里adb都可以使用,但在有些版本的adb或者系统中仍会报如下问题:

apuser@ubuntu2:~/adbtools$ adb devices

List of devices attached

faf80ac1  no permissions (user in plugdev group; areyour udev rules wrong?); see  [http://developer.android.com/tools/device.html]

可使用一下解决方案,进行解决

解决方案:

setp 1: lsusb 找到你手机的usb地址

apuser@ ubuntu2:~/adbtools$ lsusb

Bus 002 Device 002: ID 1f75:0621 Innostor Technology Corporation

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 006: ID 0bda:58db Realtek Semiconductor Corp.

Bus 001 Device 005: ID 8087:0a2b Intel Corp.

Bus 001 Device 004: ID 138a:0097 Validity Sensors, Inc.

Bus 001 Device 003: ID18f8:0f99 

Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMA Technologies MSM

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

他会列出来所有的usb 设备。如果试下找不到,那么拔掉设备看下,哪了没有了就是哪个。

setp2: 配置规则文件

apuser@ ubuntu2:~/adbtools$ sudo gedit /etc/udev/rules.d/51-android.rules

[sudo] password for apuser:

之后把这些文本copy 到编辑器里面:

ATTR{idProduct}=="ffb0",SYMLINK+="android_adb", MODE="0660",GROUP="plugdev", TAG+="uaccess", SYMLINK+="android"

注意:ffb0 是查找到的手机设备的usb 的地址。

Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMATechnologies MSM

改成你的地址。

如果没有/etc/udev/rules.d/51-android.rules 文件,麻烦自己创建一下。

setp3: 之后执行命令:

apuser@ ubuntu2:~/adbtools$ sudo usermod -a -G plugdev $(id -u -n)

apuser@ ubuntu2:~/adbtools$ sudo udevadm control --reload-rules

apuser@ ubuntu2:~/adbtools$ sudo service udev restart

apuser@ ubuntu2:~/adbtools$ sudo udevadm trigger

setp4: 之后重启adb

apuser@ ubuntu2:~/adbtools$ adb kill-server

apuser@ ubuntu2:~/adbtools$ adb start-server

apuser@ ubuntu2:~/adbtools$ adb devices

List of devices attached

faf80ac1  unauthorized

2、????????????   no permissions没有权限问题处理

apuser @ ubuntu2:~$adb devices

List of devices attached

????????????   no permissions

提示很明确,就是adb权限有问题,而且

????????????   no permissions

这样的提示,说明使用的adb版本较低,最好使用高版本的adb,安装Ubuntu系统自带的adb可能会出现这种现象。如果adb版本比较高,就会出现如下提示:

faf80ac1no permissions……

使用adb shell 也会提示权限error

apuser@ ubuntu2:~$adb shell

error:insufficient permissions for device

根本原因是:adb server需要以root的权限启动

临时方法如下:

apuser@ubuntu2:~$sudo -s

[sudo]password for apuser:

root@ ubuntu2:~#adb kill-server; adb start-server

* daemon not running. starting it now *

* daemon started successfully *

apuser@ ubuntu2:~# exit

apuser @ ubuntu2:~$

再次执行adb shell就可以了。

该权限问题,可使用sudo启动adb来解决,但不是根本解决之道,因为每次都要sudo来提高权限,太麻烦,而且如果使用的eclpse,或者idle来调试时还是要面对该该问题。

最好按本文第一部分的方法安装adb。如果按本文第一部分安装了adb,但还出现改问题,可使用which adb查看,当前使用的adb那个路径下的adb.以确保使用正确的adb

3、如果需要调试多个设备,以下的添加方法可能更为合适

这个方案对于不出现user in plugdev group; are your udev rules wrong?问题的系统来说是可行,的,如果出现user in plugdev group; are your udev rules wrong?问题,就不用考虑了。

清空51-android.rules,添加如下一行,一劳永逸(需要测试好几种设备,每次都添加一个会很麻烦)。

SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device", MODE="0666", GROUP="plugdev"

我并不是很清楚具体的含义,只是模仿10-vboxdrv.rules来写的,这个是virtualbox的udev规则文件,因为名字开头数字大文件中记录的规则会覆盖名字开头数字小的文件中的规则,所以你需要尽可能设置的文件名大一些,51已经够用了(我原来想写在10-vboxdrv.rules,让他们用一个文件,但是失败了)

三、常用指令

adb kill-server

sudo udevadmcontrol --reload-rules

sudo service udevrestart

sudo udevadmtrigger

lsusb

可将这些指令写入一个sh脚本中,配置完规则,或者要检查USB设备时,直接执行该脚本,以提高效率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345