|  |  | @ -86,6 +86,7 @@ ADB,即 [Android Debug Bridge](https://developer.android.com/studio/command-li | 
			
		
	
		
		
			
				
					
					|  |  |  | 	* [查看进程](#查看进程) |  |  |  | 	* [查看进程](#查看进程) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	* [查看实时资源占用情况](#查看实时资源占用情况) |  |  |  | 	* [查看实时资源占用情况](#查看实时资源占用情况) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	* [其它](#其它) |  |  |  | 	* [其它](#其它) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | * [adb 的非官方实现](#adb-的非官方实现) | 
			
		
	
		
		
			
				
					
					|  |  |  | * [参考链接](#参考链接) |  |  |  | * [参考链接](#参考链接) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ## 基本用法 |  |  |  | ## 基本用法 | 
			
		
	
	
		
		
			
				
					|  |  | @ -155,8 +156,8 @@ adb version | 
			
		
	
		
		
			
				
					
					|  |  |  | 示例输出: |  |  |  | 示例输出: | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ```sh |  |  |  | ```sh | 
			
		
	
		
		
			
				
					
					|  |  |  | Android Debug Bridge version 1.0.32 |  |  |  | Android Debug Bridge version 1.0.36 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | Revision 09a0d98bebce-android |  |  |  | Revision 8f855a3d9b35-android | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | ``` |  |  |  | ``` | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ### 以 root 权限运行 adbd |  |  |  | ### 以 root 权限运行 adbd | 
			
		
	
	
		
		
			
				
					|  |  | @ -418,14 +419,14 @@ adb install [-lrtsdg] <path_to_apk> | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | `adb install` 后面可以跟一些可选参数来控制安装 APK 的行为,可用参数及含义如下: |  |  |  | `adb install` 后面可以跟一些可选参数来控制安装 APK 的行为,可用参数及含义如下: | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | | 参数 | 含义                 | |  |  |  | | 参数 | 含义                                                                              | | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | |------|----------------------| |  |  |  | |------|-----------------------------------------------------------------------------------| | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | | -l   | 将应用安装到保护目录 | |  |  |  | | -l   | 将应用安装到保护目录 /mnt/asec                                                    | | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | | -r   | 允许覆盖安装         | |  |  |  | | -r   | 允许覆盖安装                                                                      | | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | | -t   | |  |  |  | | -t   | 允许安装 AndroidManifest.xml 里 application 指定 `android:testOnly="true"` 的应用 | | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | | -s   | 将应用安装到 sdcard  | |  |  |  | | -s   | 将应用安装到 sdcard                                                               | | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | | -d   | 允许降级覆盖安装     | |  |  |  | | -d   | 允许降级覆盖安装                                                                  | | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | | -g   | 授予所有运行时权限   | |  |  |  | | -g   | 授予所有运行时权限                                                                | | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 运行命令后如果见到类似如下输出(状态为 `Success`)代表安装成功: |  |  |  | 运行命令后如果见到类似如下输出(状态为 `Success`)代表安装成功: | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -445,7 +446,15 @@ Success | 
			
		
	
		
		
			
				
					
					|  |  |  | Success |  |  |  | Success | 
			
		
	
		
		
			
				
					
					|  |  |  | ``` |  |  |  | ``` | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 而如果状态为 `Failure` 则表示安装失败。常见安装失败输出代码、含义及可能的解决办法如下: |  |  |  | 而如果状态为 `Failure` 则表示安装失败,比如: | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | ```sh | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | [100%] /data/local/tmp/map-20160831.apk | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         pkg: /data/local/tmp/map-20160831.apk | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | Failure [INSTALL_FAILED_ALREADY_EXISTS] | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | ``` | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 常见安装失败输出代码、含义及可能的解决办法如下: | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | | 输出                                               | 含义                                                                     | 解决办法                                        | |  |  |  | | 输出                                               | 含义                                                                     | 解决办法                                        | | 
			
		
	
		
		
			
				
					
					|  |  |  | |----------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------------| |  |  |  | |----------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------------| | 
			
		
	
	
		
		
			
				
					|  |  | @ -503,6 +512,18 @@ Success | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 参考:[PackageManager.java](https://github.com/android/platform_frameworks_base/blob/master/core%2Fjava%2Fandroid%2Fcontent%2Fpm%2FPackageManager.java) |  |  |  | 参考:[PackageManager.java](https://github.com/android/platform_frameworks_base/blob/master/core%2Fjava%2Fandroid%2Fcontent%2Fpm%2FPackageManager.java) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | *`adb install` 内部原理简介* | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | `adb install` 实际是分三步完成: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 1. push apk 文件到 /data/local/tmp。 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 2. 调用 pm install 安装。 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 3. 删除 /data/local/tmp 下的对应 apk 文件。 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 所以,必要的时候也可以根据这个步骤,手动分步执行安装过程。 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ### 卸载应用 |  |  |  | ### 卸载应用 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 命令: |  |  |  | 命令: | 
			
		
	
	
		
		
			
				
					|  |  | @ -1765,6 +1786,10 @@ Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ | 
			
		
	
		
		
			
				
					
					|  |  |  | | rm    | 删除文件                    | |  |  |  | | rm    | 删除文件                    | | 
			
		
	
		
		
			
				
					
					|  |  |  | | top   | 查看进程的资源占用情况      | |  |  |  | | top   | 查看进程的资源占用情况      | | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | ## adb 的非官方实现 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | * [fb-adb](https://github.com/facebook/fb-adb) - A better shell for Android devices (for Mac). | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | ## 参考链接 |  |  |  | ## 参考链接 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | * [Android Debug Bridge](https://developer.android.com/studio/command-line/adb.html) |  |  |  | * [Android Debug Bridge](https://developer.android.com/studio/command-line/adb.html) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |