|
|
@ -13,6 +13,8 @@ Adb,即 [Android Debug Bridge](https://developer.android.com/studio/command-li |
|
|
|
* [卸载应用](#卸载应用) |
|
|
|
* [卸载应用](#卸载应用) |
|
|
|
* [调起应用](#调起应用) |
|
|
|
* [调起应用](#调起应用) |
|
|
|
* [查看前台 Activity](#查看前台-activity) |
|
|
|
* [查看前台 Activity](#查看前台-activity) |
|
|
|
|
|
|
|
* [调试](#调试) |
|
|
|
|
|
|
|
* [查看/过滤日志](#查看过滤日志) |
|
|
|
* [查看设备信息](#查看设备信息) |
|
|
|
* [查看设备信息](#查看设备信息) |
|
|
|
* [查看手机型号](#查看手机型号) |
|
|
|
* [查看手机型号](#查看手机型号) |
|
|
|
* [查看手机电池状况](#查看手机电池状况) |
|
|
|
* [查看手机电池状况](#查看手机电池状况) |
|
|
@ -20,6 +22,7 @@ Adb,即 [Android Debug Bridge](https://developer.android.com/studio/command-li |
|
|
|
* [查看 android\_id](#查看-android_id) |
|
|
|
* [查看 android\_id](#查看-android_id) |
|
|
|
* [其它实用功能](#其它实用功能) |
|
|
|
* [其它实用功能](#其它实用功能) |
|
|
|
* [录制屏幕](#录制屏幕) |
|
|
|
* [录制屏幕](#录制屏幕) |
|
|
|
|
|
|
|
* [参考链接](#参考链接) |
|
|
|
|
|
|
|
|
|
|
|
## 设备连接管理 |
|
|
|
## 设备连接管理 |
|
|
|
|
|
|
|
|
|
|
@ -41,8 +44,25 @@ emulator-5554 device |
|
|
|
|
|
|
|
|
|
|
|
该输出显示当前已经连接了两台设备/模拟器,`cf264b8f` 与 `emulator-5554` 分别是它们的 SN。从 `emulator-5554` 这个名字可以看出它是一个 Android 模拟器。 |
|
|
|
该输出显示当前已经连接了两台设备/模拟器,`cf264b8f` 与 `emulator-5554` 分别是它们的 SN。从 `emulator-5554` 这个名字可以看出它是一个 Android 模拟器。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
常见异常输出: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. 没有设备/模拟器连接成功。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
List of devices attached |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. 设备/模拟器未连接到 adb 或它无法响应。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
List of devices attached |
|
|
|
|
|
|
|
cf264b8f offline |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
### 无线连接 |
|
|
|
### 无线连接 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO |
|
|
|
|
|
|
|
|
|
|
|
## 应用管理 |
|
|
|
## 应用管理 |
|
|
|
|
|
|
|
|
|
|
|
### 查看所有已安装应用 |
|
|
|
### 查看所有已安装应用 |
|
|
@ -66,7 +86,9 @@ package:com.android.protips |
|
|
|
package:com.android.documentsui |
|
|
|
package:com.android.documentsui |
|
|
|
package:com.android.gallery |
|
|
|
package:com.android.gallery |
|
|
|
package:com.android.externalstorage |
|
|
|
package:com.android.externalstorage |
|
|
|
|
|
|
|
... |
|
|
|
// other packages here |
|
|
|
// other packages here |
|
|
|
|
|
|
|
... |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
### 安装 APK |
|
|
|
### 安装 APK |
|
|
@ -77,12 +99,51 @@ package:com.android.externalstorage |
|
|
|
adb install /path/to/filename.apk |
|
|
|
adb install /path/to/filename.apk |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
// TODO: 命令行参数,常见错误输出等 |
|
|
|
参数: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`adb install` 后面可以跟一些参数来控制安装 APK 的行为,常用参数及含义如下: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 参数 | 含义 | |
|
|
|
|
|
|
|
|------|-----------------------| |
|
|
|
|
|
|
|
| -r | 允许覆盖安装。 | |
|
|
|
|
|
|
|
| -s | 将应用安装到 sdcard。 | |
|
|
|
|
|
|
|
| -d | 允许降级覆盖安装。 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
完整参数列表及含义可以直接运行 `adb` 命令然后查看 `adb install [-lrtsdg] <file>` 一节。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果见到类似如下输出(状态为 `Success`)代表安装成功: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
12040 KB/s (22205609 bytes in 1.801s) |
|
|
|
|
|
|
|
pkg: /data/local/tmp/SogouInput_android_v8.3_sweb.apk |
|
|
|
|
|
|
|
Success |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
而如果状态为 `Failure` 则表示安装失败。常见安装失败输出代码、含义及可能的解决办法如下: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 输出 | 含义 | 解决办法 | |
|
|
|
|
|
|
|
|----------------------------------------------------|--------------------------------------------------|------------------------------| |
|
|
|
|
|
|
|
| INSTALL\_FAILED\_ALREADY\_EXISTS | 应用已经存在 | 使用 `-r` 参数 | |
|
|
|
|
|
|
|
| INSTALL\_FAILED\_OLDER\_SDK | 设备系统版本低于应用要求 | 使用高版本 Android 系统 | |
|
|
|
|
|
|
|
| INSTALL\_FAILED\_INSUFFICIENT\_STORAGE | 空间不足 | 清理空间 | |
|
|
|
|
|
|
|
| INSTALL\_FAILED\_MEDIA\_UNAVAILABLE | 安装位置不可用 | | |
|
|
|
|
|
|
|
| INSTALL\_FAILED\_VERSION\_DOWNGRADE | 已经安装了更高版本 | 使用 `-d` 参数 | |
|
|
|
|
|
|
|
| INSTALL\_CANCELED\_BY\_USER | 应用安装需要在设备上确认,但未操作设备或点了取消 | 在设备上同意安装 | |
|
|
|
|
|
|
|
| INSTALL\_PARSE\_FAILED\_INCONSISTENT\_CERTIFICATES | 已安装该应用,且签名与 APK 文件不一致 | 先卸载手机上的该应用,再安装 | |
|
|
|
|
|
|
|
| INSTALL\_FAILED\_INVALID\_URI | 无效的 APK 文件名 | 确保 APK 文件名里无中文 | |
|
|
|
|
|
|
|
| Offline | 设备未连接成功 | 先将设备与 adb 连接成功 | |
|
|
|
|
|
|
|
| error: device not found | 没有连接成功的设备 | 先将设备与 adb 连接成功 | |
|
|
|
|
|
|
|
| protocol failure | 设备已断开连接 | 先将设备与 adb 连接成功 | |
|
|
|
|
|
|
|
| Unknown option: -s | Android 2.2 以下不支持安装到 sdcard | 不使用 `-s` 参数 | |
|
|
|
|
|
|
|
|
|
|
|
### 卸载应用 |
|
|
|
### 卸载应用 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO |
|
|
|
|
|
|
|
|
|
|
|
### 调起应用 |
|
|
|
### 调起应用 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO |
|
|
|
|
|
|
|
|
|
|
|
### 查看前台 Activity |
|
|
|
### 查看前台 Activity |
|
|
|
|
|
|
|
|
|
|
|
命令: |
|
|
|
命令: |
|
|
@ -99,6 +160,12 @@ mFocusedActivity: ActivityRecord{8079d7e u0 com.cyanogenmod.trebuchet/com.androi |
|
|
|
|
|
|
|
|
|
|
|
其中的 `com.cyanogenmod.trebuchet/com.android.launcher3.Launcher` 就是当前处于前台的 Activity。 |
|
|
|
其中的 `com.cyanogenmod.trebuchet/com.android.launcher3.Launcher` 就是当前处于前台的 Activity。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 调试 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 查看/过滤日志 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO |
|
|
|
|
|
|
|
|
|
|
|
## 查看设备信息 |
|
|
|
## 查看设备信息 |
|
|
|
|
|
|
|
|
|
|
|
### 查看手机型号 |
|
|
|
### 查看手机型号 |
|
|
@ -197,8 +264,13 @@ adb pull /sdcard/filename.mp4 |
|
|
|
`screenrecord` 命令也支持一些参数,可以使用 `adb shell screenrecord --help` 查看,下面是简介: |
|
|
|
`screenrecord` 命令也支持一些参数,可以使用 `adb shell screenrecord --help` 查看,下面是简介: |
|
|
|
|
|
|
|
|
|
|
|
| 参数 | 含义 | |
|
|
|
| 参数 | 含义 | |
|
|
|
|:--------------------|:------------------------------------------------| |
|
|
|
|---------------------|-------------------------------------------------| |
|
|
|
| --size WIDTHxHEIGHT | 视频的尺寸,比如 `1280x720`,默认是屏幕分辨率。 | |
|
|
|
| --size WIDTHxHEIGHT | 视频的尺寸,比如 `1280x720`,默认是屏幕分辨率。 | |
|
|
|
| --bit-rate RATE | 视频的比特率,默认是 4Mbps。 | |
|
|
|
| --bit-rate RATE | 视频的比特率,默认是 4Mbps。 | |
|
|
|
| --time-limit TIME | 录制时长,单位秒。 | |
|
|
|
| --time-limit TIME | 录制时长,单位秒。 | |
|
|
|
| --verbose | 输出更多信息。 | |
|
|
|
| --verbose | 输出更多信息。 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 参考链接 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* [Android Debug Bridge](https://developer.android.com/studio/command-line/adb.html) |
|
|
|
|
|
|
|
* [ADB Shell Commands](https://developer.android.com/studio/command-line/shell.html) |
|
|
|