logcat
- adb logcat -v time > X:/xxx.txt
保存log到指定文件(ctrl + c 结束输出) - adb logcat -c
清除之前日志缓存
安装卸载
- adb install xxx.apk
安装 - adb uninstall com.xxx.xxx
卸载 - 打开
am start -n com.xxx.xxx/com.xxx.xxx.Activity - 关闭
am force-stop com.xxx.xxx - 清理缓存(可以先adbshell进入手机)
adb shell pm clear < application id >
安装卸载固件
- adb remount
重新挂载system image(如果不执行这一步,system image是不可写的) - adb shell cd /system/app
进入固件app所在目录 - rm xxx.app
删除
shell
- su -c reboot
重启设备 - pm list packages
安装程序列表 - input keyevent keycode
模拟按键 - 查看当前显示activity/Fragment
(activity) shell “dumpsys activity top | grep ACTIVITY | tail -n 1”
(Fragment) shell “dumpsys activity top | grep '#[0-9]: ’ | tail -n 1” - 查看任务栈
adb shell “dumpsys activity activities | grep ‘* ActivityRecord{’”
沉浸
-
adb shell settings put global policy_control immersive.full=*
全屏沉浸 -
adb shell settings put global policy_control immersive.status=*
沉浸状态栏 -
adb shell settings put global policy_control immersive.navigation=*
沉浸导航栏 -
adb shell settings put global policy_control immersive.full=apps,-com.xxx.xxx.appname
指定app取消 -
adb shell settings put global policy_control null
全部取消
复制
- adb push X:\xxx.txt /sdcard
复制到android设备 - adb pull /sdcard/xxx.txt X:\xxx
从android设备获取文件(注意权限,复制系统权限的目录下的文件,需要 root ,并且一般的 Android 机 root 之后并不能使用命令去复制,而需要在手机上使用类似于 RE 的文件浏览器,先对系统的文件系统进行挂载为可读写后,才能在手机上复制移动系统文件)
优化
- adb [-d|-e|-s < serialnumber>] shell am start -s -w com.example.app/.MainActivity -c android.intent.category.LUNCHER -a android.intent.action.MAIN
查看启动耗时
示例 :adb shell am start -W(必须大写) applicationId/Activity路径 -c android.intent.category.LUNCHER -a android.intent.action.MAIN
WaitTime : 总耗时
ThisTime : 从最开始启动至最后一个Activityde的启动完毕的耗时
TocalTime : 新应用启动耗时(包括新进程的启动和Activity的启动,不包括前一个应用Activity pause的耗时操作)
更多常用
- adb connect 192.168.0.1
连接指定的设备 - adb reboot
重启 - for %i in (C:\apps*.apk) do adb install %i
批量安装