常用的adb命令
Android Debug Bridge是我们比较常用的命令行工具,该工具可以在Android 设备上执行不同的操作,例如安装或卸载应用程序、输入文本、捕获屏幕截图等,下面是一些常用的adb命令及使用场景。
列出连接的设备
adb devices
上面的命令可以列出设备的序列号和状态,如果连接了许多设备并且我们想将它们区分开来,我们可以运行带有-l
选项的命令以列出有关设备的更多详细信息。
adb devices -l
此命令向我们显示设备、型号等。
安装应用程序
通过提供.apk
文件的路径,可以在设备上安装应用程序
adb install <path_to_apk>.apk
如果连接了多个设备,直接运行上面的命令是会报错的,这时应使用-s
选项指定目标设备的序列号。
adb -s <serial_number> install <path_to_apk>.apk
这里的-s
是一个常用选项,用于指定具体的设备,会在adb命令中大量使用到。
列出package
adb shell
中的包管理器(package manager)工具可用于列出设备上安装的所有包
adb shell pm list packages
后面接grep
命令可以实现更为精确的过滤
adb shell pm list package | grep what_you_want
启动Activity
可以用下面的命令来找到指定的package中的某个activity
adb shell dumpsys package | grep <package_name> | grep Activity
然后下面的命令可以启动activity
adb shell am start <package_name>/<activity_name>
比如下面的命令可以启动google map
adb shell am start com.google.android.apps.maps/com.google.android.maps.MapsActivity
在浏览器中打开URL
这里要用到工具是活动管理器am,activity manager
adb shell am start -a android.intent.action.VIEW -d "<some_url>"
比如下面的例子
adb shell am start -a android.intent.action.VIEW -d "https://developer.android.com/docs"
输入文字
在文本框中输入并focus文本
adb shell input text "<some_input>"
一些特殊字符!
, &
, (
,是需要用反斜杠(\
)转义的
adb shell input text "\!\&\(\)\<\>\*\|"
点击Home按钮
KEYCODE_HOME
事件可以用来模拟点击Home按钮的效果
adb shell input keyevent KEYCODE_HOME
干掉应用
可以通过模拟按钮的方式来终止应用
adb shell input keyevent KEYCODE_APP_SWITCH
adb shell input keyevent KEYCODE_DPAD_DOWN
adb shell input keyevent DEL
清除应用数据
adb shell pm clear <package_name>
在这个例子里Google Chrome 浏览器打开了 4 个tab。当应用数据被清除并再次启动Activity时,显示Terms of Service
页面(首次启动时显示的页面)并表明应用缓存和数据被清除。
屏幕截图
截图并拉回本地
adb shell screencap /sdcard/<screenshot_name>.png
adb pull /sdcard/<screenshot_name>.png
录屏
adb shell screenrecord /sdcard/<some_video_name>.mp4
注意: 命令执行之后,需要按下ctrl+c
来停止录屏
最后把视频拉回到本地
adb pull /sdcard/<some_video_name>.mp4
查看应用程序日志
adb logcat
访问应用程序的data目录
这时候需要用到adb shell
adb shell
run-as <package_name>
卸载应用
adb uninstall <package_name>