Android 常用ADB 和 adb shell 命令

常用ADB命令

一般都是通过这样子的格式 adb [-d|-e|-s <设备序列号>] <子命令>

通常只有一台设备就忽略 [-d|-e|-s ] 这一部分

参数含义:

-d 指定当前唯一通过USB连接的Android设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s <serialNumber>指定相应 serialNumber 号的设备/模拟器为命令目标

adb 常用命令汇总

adb help //查看帮助
adb version //查看adb版本号
adb devices //查看设备
adb get-state// 获取设备状态
adb start-server //启动服务
adb kill-server // 杀死服务

wifi adb 命令

adb connect IP:port //连接设备
adb disconnect //断开连接所有设备
adb disconnect IP:port //断开连接指定设备
adb root //获取root权限
adb remount //重新挂载文件系统(默认只读,执行命令后可写)

安装应用 -r -t -d 可以组合使用

adb install Package //安装APK
adb install -r Package //强制覆盖安装
adb install -t Package //允许降级覆盖安装
adb install -d Package //允许测试包

卸载应用

adb uninstall PackageName //卸载APK
adb uninstall -k (keep) PackageName //保留用户数据卸载
adb pull //将设备文件文件发送到PC
adb push //将PC文件发送到设备

adb logcat 命令格式 : adb logcat [选项] [过滤项]
选项参数说明

"-v"选项 : 设置日志的输出格式;----->adb logcat -v threadtime 查看日志输出时间和线程信息
"-c"选项 : 清空所有的日志缓存信息;---->adb logcat -c
"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;------->adb logcat -d
"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;------>adb logcat -t 5 输出日志缓冲区的最近5行
"-g"选项 : 查看日志缓冲区信息; ------>adb logcat -g
"-G"选项 : 设置日志缓冲区信息; ------>adb logcat -G 200M
"-B"选项 : 以二进制形式输出日志; ----> adb logcat -B

adb logcat -c //清空日志
adb logcat -v threadtime >D:\111.log //抓日志并输出保存D:\111.log
adb logcat -G 200M //设置日志缓存大小
adb logcat -g //查询日志缓存大小

adb shell 常用命令

adb shell screencap /sdcard/screen.png //屏幕截图(并存放sdcard目录,命名screen.png)
adb shell screenrecord /sdcard/demo.mp4 //录制屏幕(Android4.4以上可用)
adb shell dumpsys activity activities //查看activity信息
adb shell dumpsys activity |findstr mResumedActivity //获取当前activity信息
adb shell dumpsys window windows | findstr “Current” //查看当前app窗口activity

二、am参数

am全称activity manager,你能使用am参数去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。
例如: adb shell am start -a android.intent.action.VIEW
关于am参数的一些命令:
start [options] :启动activity通过指定的intent参数。具体intent参数参照官方表。
startservice [options] : 启动service通过指定的intent参数。具体intent跟start命令参数相同。
force-stop : 强制停止指定的package包应用。
kill [options] :杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user | all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)
kill-all :杀死所有的后台进程。
broadcast [options] :发送一个intent。具体intent参数参照start命令参数。参数选项:--user | all | current: 指定user进程杀死,如果不指定默认为所有users。
instrument [options] :测试命令,不多作介绍。
profile start :在进程中运行profile,分析结果写到里。
profile stop :停止profile。
set-debug-app [options] :设置package包应用为debug模式。参数选项:-w|--persistent:等待进入调试模式,保留值。
clear-debug-app :清空之前用set-debug-app命令设置的package包应用。
启动:adb shell app am start -n {packageName}/.{activityName}
杀app的进程:adb shell am kill <packageName>
强制停止一切:adb shell am force-stop <packageName>
启动服务:adb shell am startservice
停止服务:adb shell am stopservice
打开简书: adb shell am start -a android.intent.action.VIEW -d http://www.jianshu.cn/
拨打电话: adb shell am start -a android.intent.action.CALL -d tel:10086 或者 adb shell am start -a android.intent.action.CALL tel:15967562075
进入手机qq主页:adb shell am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity
进入手机微信主页 :adb shell am start -n com.tencent.mm/.ui.LauncherUI

二、pm参数

pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用等。
例如: adb shell pm uninstall com.example.MyApp
关于一些pm命令的介绍:
list packages [options] :打印所有包,选择性的查询包列表。
参数选项:-f:查看关联文件,即应用apk的位置跟对应的包名(如:package:/system/app /MusicPlayer.apk=com.sec.android.app.music);
-d:查看disabled packages;
-e:查看enable package;
-s:查看系统package;
-3:查看第三方package;
-i:查看package的对应安装者(如:1、 package:com.tencent.qqmusic installer=null 2、package:com.tencent.qqpim installer=com.android.vending);
-u:查看曾被卸载过的package。(卸载后又重新安装依然会被列 入);
--user:The user space to query。
list permission-groups :打印所有已知的权限群组。
list permissions [options] :选择性的打印权限。参数选项:
list features :设备特性。硬件之类的性能。
list libraries :当前设备支持的libs。
list users :系统上所有的users。(上面提到的USER_ID查询方式,如:UserInfo{0:Primary:3}那么USER_ID为0)
path :查询package的安装位置。
install [options] :安装命令。
uninstall [options] :卸载命令。
clear :对指定的package删除所有数据。
enable :使package或component可用。(如:pm enable "package/class")
disable :使package或component不可用。(如:pm disable "package/class")
disable-user [options] :参数选项:--user : The user to disable。
grant :授权给应用。
revoke :撤销权限。
set-install-location :设置默认的安装位置。其中0:让系统自动选择最佳的安装位置。1:安装到内部的设备存储空间。2:安装到外部的设备存储空间。(这只用于调试应用程序, 使用该命令可能导致应用程序退出或者其他不适的后果)。
get-install-location :返回当前的安装位置。返回结果同上参数选项。
set-permission-enforced [true|false] :使指定权限生效或者失效。
create-user :增加一个新的USER。
remove-user :删除一个USER。
get-max-users :该设备所支持的最大USER数。(某些设备不支持该命令)
列出手机所有的包名: pm list packages
安装/卸载: pm install/uninstall

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

推荐阅读更多精彩内容