adb常用命令补充

1. adb devices

主要作用:查看当前已连接的设备,连接到计算机的Android设备或者模拟器将会以列表的形式显示。

输出格式:[serialNumber][state]

l  如果当前没有模拟器或者设备运行,adb则会返回List of devices attached为空

l  offline:表明设备没有连接到计算机或无响应

l  device:设备已经连接到计算机。注意,该状态并不表示Android设备可用,当Android设备处于启动阶段时,若连接成功也会返回该状态。

2.    adb install <apk文件路径>

主要作用:将指定的apk文件安装到设备上,<apk文件路径>可以从本地文件夹拖动到终端中。

常用参数:

adb install –r 覆盖安装

adb install –s 安装到SD卡

adb install –rs覆盖安装到SD卡

adb –s <serial number> install 选定设备安装

当有多个设备连接时,可以用下面的命令来直接选定设备进行安装。

adb [-d|-e|-s <serial number>] install <path_to_apk>

d:真机(多个设备中只有一个真机时适用)

e:模拟器(多个设备中只有一个模拟器时适用)

s:序列号

adb –d install ./test.apk

adb –s emulator-5556 install ./test.apk

3.    adb uninstall <包名>

主要作用:卸载设备上的指定程序

查看包名路径:/data/app,系统安装包路径:/sys/data,这两个路径下文件的查看都需要root权限

adb uninstall –k <包名>

adb shell pm uninstall –k <包名>

卸载程序但是保留其配置和缓存文件,即/data/data/packname下的数据与/sdcard/程序名 的数据

4.    adb push/pull

主要作用:复制文件

1)adb push <本地路径><设备路径>

把pc上的文件或文件夹复制到设备中。

adb push /home/test.apk /sdcard/

2)adb pull <设备路径><本地路径>

把设备上的文件或文件夹复制到电脑

adb pull /sdcard/log/test.xls /home/

Pull命令后可不输入本地地址,不输入时文件会复制到当前终端所在目录

5.    关闭和启动adb服务

sudo –s

adb kill-server  //关闭adb服务

adb start-server //启动adb服务

6.    sudo –i和sudo –s的区别

sudo –i:在root用户下,使用root权限执行adb命令

sudo –s:在当前用户下,使用root权限执行adb命令

7.    adb logcat

主要作用:查看日志,在命令行中显示调试信息

adb logcat >> <指定文件路径>  将logcat信息保存在指定文件中

>> 追加

>覆盖

adb logcat –help:查看logcat命令帮助文档

adb logcat -v time >C:\Users\pphou\Desktop\error.log

每一条日志消息都有一个标记和优先级与其关联。

格式为:<priority>/<tag>

过滤不同优先级的log:adb logcat *:W(过滤比W优先级低的log)

标记是一个简短的字符串,用于标识原始消息的来源(例如“View”来源于显示系统)。

优先级是下面的字符,顺序从低到高:

V—Verbose 明细(最低优先级)

D—Debug 调试

I—Info 信息

W—Warm 警告

E—Error 错误

F—Fatal 严重错误

S—Silent 无记载(最高优先级,没有什么会被记载)

建议配合Eclipse使用,查看logcat

8.    adb shell

由于Android是基于Linux内核的操作系统。因此,在Android上可以执行shell命令。

常用命令如下:

ls    查看文件夹

cd    改变目录

cat <文件名>    查看文件内容

rm    删除文件

mkdir <文件夹>    新建文件夹

cp    复制文件到另一目录

exit  退出shell命令

adb shell <command>    直接运行设备命令

adb shell su –c “<command>”    直接运行root权限命令

9.    adb shell am

am start –n <包名>/<包名>.<Activity名>  启动程序

am force-stop <包名>    强制停止程序

am kill <包名> 杀死与包名有关的后台进程,不影响用户体验,相当于一般的清理内存功能

am kill-all    杀死所有后台进程

10. adb shell pm

pm path <包名>  查看apk安装在手机后的路径

pm uninstall [-k] <包名>  卸载程序(-k:保留配置文件)

pm clear <包名>    清除应用缓存数据

11. 其他常用命令

adb help    显示帮助信息

adb version  显示adb版本

adb reboot    重启手机

adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂)

adb shell dumpsys window | grep init 查看手机的分辨率

adb logcat -s ActivityManager        Activity的启动时间

12.常用命令使用

1.adb shell pm list package    查看手机上所有的安装包

2.adb shell pm list package -3    查看第三方安装包

3.adb shell pm list packages -s     查看系统的包

4.adb shell pm list packages -e “要搜索的内容”     查看启动包中搜索的包

5.adb shell dumpsys window | findstr mCurrentFocus   获取当前打开的APP包名(前面的为包名,斜杠后面的是当前启动的acivity)

adb shell dumpsys activity activities | grep "peo"

6.adb shell pm clear (apk包名)  清除应用数据与缓存

7.adb shell am force-stop com.peopxxx.activity  强制停止应用

13.杀掉monkey进程

adb shell ps | findstr monkey

adb shell kill 23033(进程号)

14.monkey设置白名单

--pkg-whitelist-file:只执行白名单文件里面的包/apk  

adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt

(以白名单为例)

  1.首先手机要连接成功

  2.在本地新建一个whitelist的txt文档

  3.使用命令adb shell pm list packages 查看手机中的包名

  4.将需要执行的包名写进whitelist中

  5.在命令行使用adb remount 进行挂载(有的不需要挂载)

  6.使用push命令:adb push C:\xxx\Desktop\whitelist.txt /data/local/tmp 将文件push到手机中

  7.执行命令:C:\Users\Administrator>adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt -v 10000 >"C:\xxx\Desktop\log.txt"


黑名单--pkg-blacklist-file :不执行黑名单文件里面的包/apk     

adb shell monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt

15.adb命令查看cpu与内存使用率

adb shell dumpsys meminfo   --查看内存信息

具体查看某个pid的内存信息,输入命令:dumpsys meminfo pid

通过adb shell top,得到pid。


参数含义: dalvik:dalvik使用的内存

native:native堆上的内存,指C\C++堆的内存(android3.0以后bitmap就是放在这儿) 

 other:除了dalvik和native的内存,包含C\C++非堆内存······

Pss:该内存指将共享内存按比例分配到使用了共享内存的进程 

 heap alloc:已使用的内存 

 heap free:空闲的内存 

 share dirty:共享,但有不能被换页出去的内存

privatedirty:非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)


查看cpu信息:方法一

输入命令:top -m 10 (-m显示最大数量,-s 按指定行排序)

参数含义:

    PID  : progress identification,应用程序ID 

    S    : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数 

    #THR : 程序当前所用的线程数 

    VSS  : Virtual Set Size虚拟耗用内存(包含共享库占用的内存) 

    RSS  : Resident Set Size实际使用物理内存(包含共享库占用的内存) 

    PCY  : 前台(fg)和后台(bg)进程 

    UID  : User Identification,用户身份ID 

    Name : 应用程序名称 

方法二:

命令:adb shell dumpsys cpuinfo

adb shell dumpsys cpuinfo | findstr "xx"

16.测试结果分析

程序无响应,ANR问题:在日志中搜索“ANR”

崩溃问题:在日志中搜索“CRASH”

其他问题:在日志中搜索”Exception”

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

推荐阅读更多精彩内容