负责桌牌项目后,由于设备本身的特殊性,必须借由 ADB(Android Debug Bridge) 命令来观察设备的运行情况,因此这里记录下常用的 ADB 命令,方便自己查看。
获取当前已连接的设备列表
adb devices
安装卸载 apk
adb install YOUR_APK.apk
adb install -r YOUR_APK.apk //区别在于-r 表示替换此应用,即当前已存在该应用
adb uninstall packageName
查看某应用信息
adb shell dumpsys package packageName
从电脑复制文件到设备
adb push 电脑上文件路径 设备里的目录
从设备复制文件到电脑
adb pull 设备里文件的路径 电脑上的目录
停止与启动adb server
当 adb 连接异常时候可以通过一下命令重启 adb
adb start-server
adb kill-server
列出设备中所有应用
adb shell pm list packages
adb shell pm list packages -s // 加上-s 表示系统应用
adb shell pm list packages -3 // 加上-3 表示第三方应用
adb shell pm list packages mocha //列出包含某字符串的应用,很实用的一个命令
查看设备信息
adb shell ps //查看进程
adb shell cat /proc/cpuinfo //查看cpu 信息
adb shell dumpsys meminfo //查看内存信息
adb shell wm size //查看屏幕分辨率
adb shell wm density //查看屏幕密度
应用信息查看
//查看Android 系统版本
adb shell getprop ro.build.version.release
//查看前台Activity
adb shell dumpsys activity activities | grep mFocusedActivity
//查看正在运行的Service,可以在后面加上报名参数过滤
adb shell dumpsys activity services [packageName]
启动/调起Activity
//命令格式:
adb shell am start [options] <INTENT>
eg1:
adb shell am start -n com.ijays.kotlinstudy/com.ijays.kotlinstudy.MainActivity
eg2:
// 打开系统设置
adb shell am start -n com.android.settings/com.android.settings.Settings
统计App启动时间
// 命令格式
adb shell am start -W [packageName]/[packageName.MainActivity]
eg:
adb shell am start -W com.ijays.kotlinstudy/com.ijays.kotlinstudy.MainActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.ijays.kotlinstudy/.MainActivity }
Status: ok
Activity: com.ijays.kotlinstudy/.MainActivity
ThisTime: 1091
TotalTime: 12780527
WaitTime: 1120
Complete
// 其中 TotalTime 表示应用的启动时间,包括创建进程 + Application 初始化 + Activity 初始化到界面显示。
发送广播
//命令格式
adb shell am broadcast [options] <INTENT>
eg:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
启动/调起Service
//命令格式
adb shell am startservice [options] <INTENT>
eg:
adb shell am startservice -n com.android.systemui/.SystemUIService
强制停止应用
//命令格式
adb shell am force-stop <packagename>
eg:
//停止360安全卫士的一切进程与服务
adb shell am force-stop com.qihoo360.mobilesafe
模拟按键输入
// 当接入的设备有时候不支持按键的时候,使用 adb 去模拟按键输入是一个相当有效的方式
// 命令格式:
adb shell input keyevent <keycode>
// 不同的 keycode 可以实现不同的功能,完整的 keycode 可以查看官方文档,这里列出部分常用的 keycode
key code | 含义 |
---|---|
3 | HOME键 |
4 | 返回键 |
26 | 打开浏览器 |
参考链接:
原文:大专栏 常用ADB命令的使用