ADB使用大法

转载注明出处:http://www.jianshu.com/p/5eddacadb089

前言

只介绍一些我常用的指令,有一些指令没用过,或者本人未了解不介绍,有些指令只是说明作用,具体使用细节可以去网上查具体使用,比如adb logcatadb shell dumpsys指令,使用细节很多,不做具体介绍,以后可能会慢慢补全。

显示设备

显示连接到当前电脑上的设备

> adb devices
List of devices attached
4b5df8f1    device
59a85475    device

多台设备

如果多台设备连接到电脑,使用-s来选择指令执行的设置。

adb -s 4b5df8f1 install test.apk // 向id为4b5df8f1的设备安装test应用

安装包相关指令

  • 安装程序,指令格式,adb install [option] <app_path>

    adb install test.apk
    adb install -r test.apk // 覆盖安装
    
    
  • 卸载程序,指令格式,adb uninstall [options] <PACKAGE_NAME>

    adb uninstall com.test.app // 卸载包名为com.test.app的程序
    adb uninstall -k com.test.app // 卸载包名为com.test.app的程序,但是保留数据
    
  • 列出设备中已安装的程序,adb shell pm list packages [options] <Filter_name>

    adb shell pm list packages // 列出设备中所有已安装程序
    adb shell pm list packages -d // 列出设备中无用程序,目前不知道有什么用
    adb shell pm list packages -e // 列出设备中可用程序
    adb shell pm list packages -s // 列出系统程序
    adb shell pm list packages -3 // 列出第三方程序
    adb shell pm list packages -i // 列出所有程序,并显示安装来源
    adb shell pm list packages -u // 列出所有程序,包括已卸载程序
    

    查看id为4b5df8f1设备的第三方安装程序,过滤词为baidu,示例:

    > adb -s 4b5df8f1 shell pm list packages -3 baidu
      package:com.baidu.lbs.waimai
      package:com.baidu.netdisk
    
  • 查看安装程序的apk文件目录,adb shell pm path <PACKAGE>

    在id为4b5df8f1设备查看中包名为com.baidu.netdisk程序的安装包路径位置,示例:

    > adb -s 4b5df8f1 shell pm path com.baidu.netdisk
      package:/data/app/com.baidu.netdisk-1/base.apk
    
  • 清空程序缓存,adb shell pm clear <PACKAGE>

    示例:

    > adb shell pm clear com.baidu.netdisk
    Success
    

文件相关指令

local_path可为相对路径,可为相对路径

  • 从设备中拷贝文件, adb pull <remote_path> <local_path>

    // 将设备中/sdcard/demo.mp4拷贝到本机的e盘根目录
    adb pull /sdcard/demo.mp4 e:\
    
  • 本地文件拷贝至设备,adb push <local_path> <remote_patch>

    // 将本地d盘的test.apk文件拷贝至设备的/sdcard目录下
    adb push d:\test.apk /sdcard
    
  • 进入设备系统,adb shell,Android设备底层是Linux内核,好多指令是和Linux种指令相同,下面列出一些。使用adb shell指令进入设备系统之后,可使用以下指令。

    ls            // 列出当前目录下面的文件
    ls -a         // 列出当前目录下的所有文件,包括隐藏文件
    ls -l         // 列出文件,包括文件的读写权限和组关系
    
    cd <文件夹名称> // 进入某个文件夹
    
    rm <文件名>    // 删除某个文件
    rm -f <文件名> // 强制删除某个文件
    rm -r <文件夹> // 删除某个非空文件夹
    rm -d <文件夹> // 删除文件夹,包括空文件夹,等同于rmdir指令
    
    mkdir <文件名/文件夹名> // 创建文件或者文件夹
    mkdir -m 777 <文件名/文件夹名> // 创建相应权限的文件夹,777是一种权限的代称
    mkdir -p <文件名/文件夹名> // 如果不存在该文件或者文件夹,就创建
    
    touch <文件名> // 新建文件
    
    pwd // 打印当前目录
    
    cp [options] <source_path> <dest_path> // 拷贝文件或者文件夹
    
    move [options] <source_path> <dest_path> // 移动文件或者重命名文件 
    

日志指令

  • 输出日志,adb logcat [option] [filter-specs],具体使用可以查看这里,点这里,个人常用的指令格式。

    // 以单个关键字过滤日志,日志显示时间戳
    adb logcat -v time | grep 关键字
    adb logcat -v time | grep "关键字"
    
    // 以多个关键字过滤日志,日志显示时间戳
    adb logcat -v time | grep "关键字一\|关键字二"
    
  • 输出手机信息,adb shell dumpsys [options]

    // 查看电池使用情况
    adb shell dumpsys battery
    

    还有更多使用方法,官方文档,例如利用它去查看内存使用情况,详情链接

  • adb shell dumpstate查看各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等,有些手机不适用,提示说没有找到sh脚本,OAO,嗯,系统定制化的结果。

  • 查看当前Activity

    // linux
    adb shell dumpsys activity | grep "mFocusedActivity"
    //windows
    adb shell dumpsys activity | findstr "mFocusedActivity"
    

截屏

  • 截屏,截取当前手机屏幕,adb shell screencap <filename>,然后可以再利用adb pull指令将图片拷贝到本地

    // 截取当前屏幕,图片保存到/sdcard目录下,名称为screen.png
    adb shell screencap /sdcard/screen.png
    
  • 录制视频,录制屏幕操作视频,adb shell screenrecord [options] <filename>按ctrl+c停止录制,该指令仅适用于4.4版本以及以上的系统。

    // 录取屏幕操作视频,保存到/sdcard目录下,名称为demo.mp4
    adb shell screenrecord /sdcard/demo.mp4
    
    // 录取视频,并设置录取视频的长宽
    adb shell screenrecord --size <WIDTHxHEIGHT> <filename>
    
    // 录取视频,设置最长录取时间
    adb shell screenrecord --time-limit <TIME> <filename>
    
    // 录取视频,角度旋转90度
    adb shell screenrecord --rotate <filename>
    

文章参考:
http://adbshell.com/commands
https://developer.android.com/studio/command-line/adb.html

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

推荐阅读更多精彩内容

  • 最近看到一些关于adb的相关知识,总结一下,这些常用的命令以后可以直接拿来用~ adb其实就是Android De...
    Mr_冯先生阅读 4,211评论 0 10
  • 钟命天子阅读 157评论 0 0
  • 这个秋季 夹杂着困倦与亢奋 在人潮拥挤的魔都 孤独的活着 寂寥又充满各种物件的房间 呼吸 思考 坚定与徘徊 梦里场...
    颜颜笑阅读 134评论 0 1
  • 用了3年时间憧憬着美好的未来,最后换来的是一纸休书…… 18岁上完中专就去打工了,那时的闺蜜青春美丽,活力四射,十...
    腊月十日阅读 393评论 2 2
  • 忍不住去关注某人,强迫症似的,总想知道更多,想尽各种办法…有点痛苦,可又控制不住自己…我该怎么办??
    荼蘼1985阅读 143评论 0 0