前言
Android为我们提供了许多快捷指令,可以加快我们开发和调试的速度;以下这些指令一部分是自己开发调试的时候,遇到记录并总结的,也有一部分搬运的是同事的总结。
adb
电脑端和手机端文件传输
adb push /home/file.txt /tmp/file.txt 将PC端home路径下的file.txt复制到手机tmp目录下
adb pull /tmp/file.txt /home/file.txt 将手机tmp目录下file.txt复制到PC端home目录下
录像
adb shell screenrecord /sdcard/demo.mp4
截图保存到手机
adb shell screencap -p /sdcard/1.png
截图保存到电脑:
adb exec-out screencap -p > sc.png
adb logcat
-b:指定输出对应缓存区的log
adb logcat -b radio 通信相关(ril,at)
adb logcat -b system 系统组件相关
adb logcat -b events 事件(event)相关
adb logcat -b main 与java层相关
-c:清除缓冲区log:
adb logcat -c
-d:将缓冲区的log打印到屏幕并退出
adb logcat -d
-g:查看logbuffer大小
adb logcat -g
-G:设置logbuffer大小
adb logcat -G 100M
过滤Tag:
通过-E来过滤多个标签
adb logcat | grep -E “tag1|tag2”
或者
adb logcat | grep -e tag1 -e tag2
剔除某个关键词
adb logcat | grep -v tag;
adb shell
pm
列出系统内置的所有apk包名
adb shell pm list package
列出系统内置的所有apk包名及预装路径
adb shell pm list package -f
列出系统安装的3rd party apk
adb shell pm list package -3
列出系统permissions
adb shell pm list permissions
查看所有danguerous的权限
adb shell pm list permissions -g -d
启用与禁用应用 (只对系统应用有效)
pm enable 包名
pm disable 包名
隐藏与恢复应用
pm hide 包名
pm unhide 包名
am
发送广播
发送广播改变电池电量和温度
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED -ei temperature 300 -ei level 50
启动activity
adb shell am start-activity com.android.calculator2/com.android.calculator2.Calculator
强行停止某个进程
adb shell am force-stop com.xxx.xx(包名)
dumpsys
查看系统mem信息
adb shell dumpsys meminfo
查看某个包的mem信息
adb shell dumpsys meminfo +package
查看当前交互的activity信息
adb shell dumpsys activity
获取设备当前应用的Activity,打印在控制台
adb shell dumpsys window |grep "mCurrent"
修改状态栏电量显示:
adb shell dumpsys battery set level 100
grep
这个是Ubuntu终端常用搜索指令
递归搜索:
grep "xxx" ./ -r
或者
grep -r "xxx"
忽略大小写,递归搜索并显示行号
grep "xxx" ./ -inr
或者
grep -rni "xxx"
配合正则表达式输出包含aaa或者bbb或者ccc的行
grep –E "aaa|bbb|ccc" ./ -inr
egrep "aaa|bbb|ccc" ./ -inr
输出既包含aaa又包含bbb的行,顺序为aaa…bbb
grep –E "aaa.*bbb" ./ -inr (注意,有顺序要求)
egrep "aaa.*bbb" ./ -inr (注意,有顺序要求)
输出既包含aaa又包含bbb的行,无顺序要求
egrep "aaa.*bbb|bbb.*aaa" ./-inr
暂时就先写这么多,后面遇到新的常用指令,再添加上。