我们默认本文读者已经详细掌握了自己所使用系统的Terminal的使用方法,并对Linux系统的文件系统及基本命令有了初步的了解,同时应具备一定的英语水平,否则请转而寻求可信来源的图形化工具的帮助。
# 查询设备
adb devices
使用此命令以列出所有当前连接至此计算机的Android设备和此电脑上的Android模拟器,您可以添加
-l
参数以显示设备的详细信息。第一列显示的是设备的序列号。
# 将命令发送至特定设备
如果您的计算机上连接了多个Android设备或模拟器,您需要在发送命令时使用
-s
参数指定目标设备,否则会抛出错误。在
-s
参数后加上目标设备的序列号。
# 安装应用
install
会将计算机上的应用安装包安装至Android设备或模拟器上,例如,以下命令将会安装当前路径下的
demo.apk
文件。
adb install ./demo.apk
# 将文件复制到设备/从设备复制文件
您可以使用
pull
和
push
命令将文件复制到设备或从设备复制文件。
例如,想要将手机中的照片拷贝至计算机,可以使用如下命令,他会将照片存储在当前路径下。
adb pull /sdcard/DCIM/Camera ./
欲将计算机当前路径下的
photo.jpg
复制至设备的SD卡中,可以使用以下命令。
adb push ./photo.jpg /sdcard
# 发出Shell命令
您可以使用
shell
命令通过
adb
发出设备命令,也可以启动交互式
shell
。要发出单个命令,请使用
shell
命令,如下所示:
adb shell echo 'Hello,Android!'
要在设备上启动交互式
shell
,请使用
shell
命令,如下所示:
adb shell
对于Android/Linux Shell的使用介绍已偏离本文主题,请自行学习Linux系统中Shell的相关命令。
# 调用 Activity 管理器 (am)
在 adb shell 中,您可以使用 Activity 管理器 (am) 工具发出命令以执行各种系统操作,如启动Activity、强行停止进程、广播 intent、修改设备屏幕属性等。
命令 | 说明 |
---|---|
start intent
|
启动由 intent 指定的 Activity。 |
startservice intent
|
启动由 intent 指定的 Service。 |
force-stop package
|
强行停止与 package (应用的软件包名称)关联的所有进程。 |
kill-all
|
终止所有后台进程。 |
broadcast intent
|
发出广播 intent。 |
display-size widthxheight
|
替换设备显示尺寸。 |
display-density dpi
|
替换设备显示密度。 |
# 调用软件包管理器
在 adb shell 中,您可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包执行操作和查询。
命令 | 说明 |
---|---|
list packages [
options
]
filter
|
输出所有软件包,或者,仅输出软件包名称包含
filter
中的文本的软件包。
选项如下:
|
list permission-groups
|
输出所有已知的权限组。 |
list permissions [
options
]
group
|
输出所有已知的权限,或者,仅输出
group
中的权限。
选项如下:
|
list users
|
输出系统中的所有用户。 |
path
package
|
输出给定
package
的 APK 的路径。
|
install [
options
]
path
|
将软件包(通过
path
指定)安装到系统。
选项如下:
|
uninstall [
options
]
package
|
从系统中移除软件包。
选项如下:
|
clear
package
|
删除与软件包关联的所有数据。 |
enable
package_or_component
|
启用给定的软件包或组件(写为“package/class”)。 |
disable
package_or_component
|
停用给定的软件包或组件(写为“package/class”)。 |
grant
package_name
permission
|
向应用授予权限。在搭载 Android 6.0(API 级别 23)及更高版本的设备上,该权限可以是应用清单中声明的任何权限。在搭载 Android 5.1(API 级别 22)及更低版本的设备上,该权限必须是应用定义的可选权限。 |
revoke
package_name
permission
|
从应用撤消权限。在搭载 Android 6.0(API 级别 23)及更高版本的设备上,该权限可以是应用清单中声明的任何权限。在搭载 Android 5.1(API 级别 22)及更低版本的设备上,该权限必须是应用定义的可选权限。 |
set-install-location
location
|
更改默认安装位置。位置值如下:
注意 :此命令仅用于调试目的;使用此命令会导致应用中断和其他意外行为。 |
get-install-location
|
返回当前安装位置。返回值如下:
|
set-permission-enforced
permission
[true |
|
指定是否应强制执行给定的权限。 |
# 截取屏幕截图
screencap
命令可以在
shell
中截取设备显示屏的屏幕截图。例如,以下命令将在命令行中截取屏幕截图并保存在/sdcard下。
adb shell screencap /sdcard/screen.png
# 录制视频
screenrecord
命令可以在
shell
中录制设备显示屏。(需要Android 4.4或更高)例如,以下命令将在命令行中录制屏幕并保存在/sdcard下。
adb shell screenrecord /sdcard/demo.mp4