常用 adb 命令

进程相关

  • 查看进程号
 top |grep com.xx.xxx"
如果已经执行了 adb shell ,则可以不用加引号
  • 查看某个包名的进程id
 adb shell ps -A | grep com.kidsedu
  • 查看当前进程
 adb shell "ps |grep com.apache"
  • 查看应用进程信息:top | grep PID
top | grep 8446
  • 杀进程
kill -9 进程号, 例如 adb shell kill -9 1137

日志相关

  • 查询日志开关
getprop persist.sys.log.level
打开日志:getprop persist.sys.log.level v
关闭日志:getprop persist.sys.log.level s
  • 抓取 crash log,在升级后出现闪退的机器中执行如下命令

1,adb shell dumpsys dropbox --print >dropbox.log
2,adb bugreport >bugreport.zip
3. adb shell dumpsys dropbox --print
  • 阻止串口一直不停执行内核打印
echo 0 > /proc/sys/kernel/printk
  • 保存日志到文件
logcat >/data/test.log
logcat -v time > D:\Logcat\logcat.log    //将日志保存到 logcat.log 文件中

  • 日志过滤
logcat -v time  |grep Soundbox       // 过滤出 包含 Soundbox 关键字的日志
logcat -v time  |grep -E "Soundbox|Jar"  //-E 代表匹配多个关键字
  • 设置和查看日志缓存
//查看logcat 缓存大小
logcat  -g
//设置logcat 缓存大小
logcat -G 50M
  • 抓取日志
logcat -v time > /mnt/xxx(U盘路径)

如需过滤
logcat -v time | grep (包名/其他过滤字段)
  • 提示无法安装:
adb shell settings put global package_verifier_enable 0

adb shell settings put global verifier_verify_adb_installs 0

//tv设置可以安装应用命令(提示:install apk has be disabled from pm by system default!)
setprop persist.tcl.debug.installapk 1
setprop persist.tcl.installapk.enable 1  

查看应用信息

  • 查看当前显示的 activity
dumpsys activity activities |grep mResumed

将会输出:
 mResumedActivity: ActivityRecord{6f2d140 u0 com.tcl.appreciate.art/.ui.sysaver.preview.sys.SysSaverPreviewActivity t3189}
  • 查看应用安装路径
adb shell pm list packages -f | grep "com.apache.android"
  • 查看正在运行的 Services
adb shell dumpsys activity services [<packagename>]
  • 查看应用的详细信息
adb shell dumpsys package <packagename>
//查看 APK 路径
adb shell dumpsys package com.apache.android|grep path 
  • 查看应用版本号
dumpsys package packageName | grep versionName
  • 查apk安装路径
 pm list packages  -f | grep 包名
  • disable 某个应用
adb shell pm disable  packagename
  • 查看被 disable 的命令
adb shell pm list packages -d  
  • 查看系统版本、设备型号信息
adb shell cat /data/devinfo.txt

输出:
devid=
sv=V8-T653T11-LF1R015
hv=MT9653
devmodel=XXX-CN-MT9653-C11G

文件操作

  • 导出 anr 文件

 1.   先将 anr 文件夹拷贝到 sdcard
 adb shell  ->cd data  -> cp -r  anr     /sdcard/Android 
 2. 将文件从 sdcard 拷贝到电脑
adb shell pull    /sdcard/Android/anr       C:\Users\Desktop

启动组件

  • am start 启动Activity
adb shell am start -a com.noahedu.noahdict.screenshots.recognition --ei type 5

上面的命令对应的代码就是
Intent intent = new Intent("com.noahedu.noahdict.screenshots.recognition");
intent.putExtra("type", 5);
startActivity(intent);

-a action;activity对应的action;
--es key stringValue; 传递 String 参数;
--ez key booleanValue; 传递 Boolean 参数;
--ei key intValue; 传递 int 参数;
--el key longValue; 传递 long 参数;
--ef key floatValue; 传递 float 参数;
  • 启动 service
//不带参数
adb shell am startservice -n com.apache.test/.portal.service.SoundboxService   

//带参数
adb shell am startservice -n com.apache.test/.portal.service.SoundboxService   -es action  exit
  • monkey
    执行
    adb shell monkey -s 10 --pct-touch 30 --throttle 300 -p com.kidsedu 10000 --monitor-native-crashes
    adb shell monkey -s 10 --pct-touch 30 --throttle 300 -p com.kidsedu -v 10000 --monitor-native-crashes

停止monkey:

  1. 通过命令 adb shell ps 找到 moneky 所在的进程 pid(monkey进程的名字为:com.android.commands.monkey)
  2. adb shell kill pid
  • clear 清除应用数据
pm clear com.tencent.karaoke
  • 电脑输入文字到手机
adb shell input text "www.baidu.com"

应用管理

  • 启动指定包名的应用
 adb shell am start -n packageName
  • 启动应用/ 调起 Activity
命令格式:
am start [options] <INTENT>
例如:adb shell am start -n com.tencent.mm/.ui.LauncherUI

表示调起微信主界面。

am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world"
  • 不指定Activity名称启动(启动主Activity)
    命令格式:

adb shell monkey -p <packagename> -c android.intent.category.LAUNCHER 1

例如:

adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER 1

表示调起微信主界面。

  • 强制停止应用
adb shell am force-stop packageName
  • adb install -r/-s

使用adb install命令可以从开发用电脑中复制应用程序并且安装到模拟器或手机上,adb install命令必须指定待安装的.apk文件的路径;
-r:保留数据和缓存文件,重新安装apk
-s:安装apk到sd卡

  • adb reboot
作用:重启连接成功的设备。
如果连接了多个设备可以指定重启其中一个设备,命令如下
adb -s xxx reboot
  • adb shell cat /sys/class/net/wlan0/address
作用:获取机器mac地址;
说明:adb shell命令表示进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令;
adb shell netcfg  //查看当前连接成功手机的ip地址;

Shell 命令

  • 重命名文件;
 rename <old folder path> <new folder path>
  • 删除指定路径文件的文件或者文件夹;
adb shell rm -r <folder>
  • 移动文件到新的目录
adb shell mv <old-folder> <new-folder>
  • adb shell mkdir path/foldelname

作用:新建文件夹;
adb shell chmod777 <folder>设置文件的权限;
adb shell cat <folder/file> 查看文件内容;

  • adb forward tcp:8000 tcp:9000

作用:执行此命令后, PC端的8000端口会被adb监听, 这个时候我们只需要往8000端口写数据, 这个数据就会发送到手机端的9000端口上,一般用来主机和移送设备进行额外的数据传输;

  • adb shell am XX

常见的命令如下所示:
//启动 Activity
adb shell am start -W com.kidsedu.test/com.kidsedu.ui.MainActivity
a:adb shell am start [options] intent;
//使用Action方式打开系统设置-输入法设置
adb shell am start -a android.settings.INPUT_METHOD_SETTINGS
//使用组件名方式启动照相机功能
adb shell am start -ncom.android.camera/.Camera //打开拨号界面,并传递一个DATA_URI数据给拨号界面
am start -a android.intent.action.CALL-d tel:10086

adb shell am monitor //监控程序的crash和anr错误;
adb shell am start -W com.some.package/首屏Activity全路径: 监控冷启动时间

  • 查看sp中数据

adb shell -> run-as com.kidsedu 参考://www.greatytc.com/p/5648fdba83cd

monkey

  • 开始 monkey
adb shell monkey -p com.kidsedu --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v –s 10000  100000 > /Users/jerry/Documents/monkey_log.txt
  • 停止 monkey
1. 找出 monkey所在进程
adb shell ps |grep monkey

2. kill -9  pId
  • 获取权限
sitadebug 
sitadebug -d 证书内容
sitadebug -t  日期 20220506 -d证书内容
  • U盘挂载
mount -o rw,remount /

U盘安装
setprop persist.tcl.debug.installapk 1 
setprop persist.tcl.installapk.enable 1 
setenforce 0 
pm install -r /mnt/usb/U盘路径/APK/包
  • 写入变量到系统中(跟应用安装、卸载无关)
setprop persist.url.Gloable.log true 打开日志
setprop persist.url.Gloable.log false 关闭日志
setprop persist.url.tedulauncher.env release 配置域名环境为正式
setprop persist.url.tedulauncher.env debug 配置域名环境为测试

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

推荐阅读更多精彩内容