和系统日志有关联的指令
1.打日志:adb logcat (| grep “某条指令”,则只会输出包含这条指令的log)
2.按级别过滤: adb logcat *:级别 (V优先级最低,D代表Debug级别及以上,I代表info,W代表warning及以上,E,F,S)
3.按级别和Tag过滤 : adb logcat tag:级别 (如adb logcat ActivityManager:E)
4. 清除日志:adb logcat –c
和ams活动有关可以在日志中搜索am_
获取Settings相关属性的指令:
1.存储在Settings.Secure.putInt(“AAA”),像这种就是adb shell settings get secure AAA就能拿到存储的值了
这些属性key值都可以通过操作手机相关设置属性时观察 logcat中出现的Notifying关键词
2.改变系统属性值:
① adb shell settings put secure 属性名 值
②adb shell settings put 属性名 值
adb shell dumpsys和相关内容
获取前台activity:
adb shell dumpsys window | grep mCurrentFocus
获取运行service : adb shell dumpsys activity services 包名(或部分包名)
获取window层级 : adb shell dumpsys window visible
获取app信息 : adb shell dumpsys package 包名(或部分包名)
查看手机中app的安装路径 : adb shell pm path 包名
清除电量信息 : adb shell dumpsys batterystats --reset
与应用交互的am指令
启动Activity: am start -a intent(指定action,如 android.intent.action.VIEW)
am start -c intent(指定category ,如android.intent.category.APP_CONTACTS)
am start -n intent(指定完整包名和具体activity, 如com.sina.weibo/.MainTabActivity)
启动Service: 由于android5.0后不支持隐式启动service,但是依然可以通过包名和服务名来启动service,如下:
am startservice -n intent(指定完整包名和具体service名称, 如 com.sina.weibo/.sync.guard.GuardSyncService)
am stopservice -n intent 停止服务
启动broadcast: am broadcast -a intent(指定系统或自定义广播指令,如android.intent.action.SCREEN_OFF等等)
停止进程: am force-stop 包名
pm指令
查看所有包名: adb shell pm list packages (-s查看系统应用 -3查看三方应用 -d查看disable应用 -e查看enable应用 某个包字符 过滤包名)
内存、进程相关指令
查看内存信息(用来查内存泄漏): adb shell dumpsys meminfo 包名
查看进程: adb shell ps -A | grep u0
查看进程UID:adb shell dumpsys package 包名 | grep userId=
杀进程: adb shell kill 进程号
实用指令
1.电脑传手机:adb push 电脑文件 手机路径
2.手机传电脑:adb pull 手机文件 电脑路径
3.安装应用: adb install apk的路径
4.卸载应用: adb uninstall 包名
5.截图:adb shell screencap -p /sdcard/1.jpg (/sdcard/1.jpg是储存的位置)
6.录屏: adb shell screenrecord 存储位置
屏幕密度可以用adb shell wm density