|  |  |  | @ -533,60 +533,60 @@ Failure [INSTALL_FAILED_ALREADY_EXISTS] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 常见安装失败输出代码、含义及可能的解决办法如下: | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | | 输出                                                                | 含义                                                                     | 解决办法                                                                    | | 
			
		
	
		
			
				
					|  |  |  |  | |---------------------------------------------------------------------|--------------------------------------------------------------------------|-----------------------------------------------------------------------------| | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_ALREADY\_EXISTS                                    | 应用已经存在,或卸载了但没卸载干净                                       | `adb install` 时使用 `-r` 参数,或者先 `adb uninstall <packagename>` 再安装 | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INVALID\_APK                                       | 无效的 APK 文件                                                          |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INVALID\_URI                                       | 无效的 APK 文件名                                                        | 确保 APK 文件名里无中文                                                     | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INSUFFICIENT\_STORAGE                              | 空间不足                                                                 | 清理空间                                                                    | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_DUPLICATE\_PACKAGE                                 | 已经存在同名程序                                                         |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_NO\_SHARED\_USER                                   | 请求的共享用户不存在                                                     |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_UPDATE\_INCOMPATIBLE                               | 以前安装过同名应用,但卸载时数据没有移除;或者已安装该应用,但签名不一致 | 先 `adb uninstall <packagename>` 再安装                                     | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_SHARED\_USER\_INCOMPATIBLE                         | 请求的共享用户存在但签名不一致                                           |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_MISSING\_SHARED\_LIBRARY                           | 安装包使用了设备上不可用的共享库                                         |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_REPLACE\_COULDNT\_DELETE                           | 替换时无法删除                                                           |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_DEXOPT                                             | dex 优化验证失败或空间不足                                               |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_OLDER\_SDK                                         | 设备系统版本低于应用要求                                                 |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_CONFLICTING\_PROVIDER                              | 设备里已经存在与应用里同名的 content provider                            |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_NEWER\_SDK                                         | 设备系统版本高于应用要求                                                 |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_TEST\_ONLY                                         | 应用是 test-only 的,但安装时没有指定 `-t` 参数                          |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_CPU\_ABI\_INCOMPATIBLE                             | 包含不兼容设备 CPU 应用程序二进制接口的 native code                      |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_MISSING\_FEATURE                                   | 应用使用了设备不可用的功能                                               |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_CONTAINER\_ERROR                                   | 1. sdcard 访问失败; 2. 应用签名与 ROM 签名一致,被当作内置应用           | 1. 确认 sdcard 可用,或者安装到内置存储; 2. 打包时不与 ROM 使用相同签名     | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INVALID\_INSTALL\_LOCATION                         | 1. 不能安装到指定位置; 2. 应用签名与 ROM 签名一致,被当作内置应用        | 1. 切换安装位置,添加或删除 `-s` 参数; 2. 打包时不与 ROM 使用相同签名       | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_MEDIA\_UNAVAILABLE                                 | 安装位置不可用                                                           | 一般为 sdcard,确认 sdcard 可用或安装到内置存储                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_VERIFICATION\_TIMEOUT                              | 验证安装包超时                                                           |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_VERIFICATION\_FAILURE                              | 验证安装包失败                                                           |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_PACKAGE\_CHANGED                                   | 应用与调用程序期望的不一致                                               |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_UID\_CHANGED                                       | 以前安装过该应用,与本次分配的 UID 不一致                                | 清除以前安装过的残留文件                                                    | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_VERSION\_DOWNGRADE                                 | 已经安装了该应用更高版本                                                 | 使用 `-d` 参数                                                              | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_PERMISSION\_MODEL\_DOWNGRADE                       | 已安装 target SDK 支持运行时权限的同名应用,要安装的版本不支持运行时权限 |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_NOT\_APK                                    | 指定路径不是文件,或不是以 `.apk` 结尾                                   |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_BAD\_MANIFEST                               | 无法解析的 AndroidManifest.xml 文件                                      |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_UNEXPECTED\_EXCEPTION                       | 解析器遇到异常                                                           |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_NO\_CERTIFICATES                            | 安装包没有签名                                                           |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_INCONSISTENT\_CERTIFICATES                  | 已安装该应用,且签名与 APK 文件不一致                                    | 先卸载设备上的该应用,再安装                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_CERTIFICATE\_ENCODING                       | 解析 APK 文件时遇到 `CertificateEncodingException`                       |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_BAD\_PACKAGE\_NAME                          | manifest 文件里没有或者使用了无效的包名                                  |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_BAD\_SHARED\_USER\_ID                       | manifest 文件里指定了无效的共享用户 ID                                   |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_MANIFEST\_MALFORMED                         | 解析 manifest 文件时遇到结构性错误                                       |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_MANIFEST\_EMPTY                             | 在 manifest 文件里找不到找可操作标签(instrumentation 或 application)   |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INTERNAL\_ERROR                                    | 因系统问题安装失败                                                       |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_USER\_RESTRICTED                                   | 用户被限制安装应用                                                       |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_DUPLICATE\_PERMISSION                              | 应用尝试定义一个已经存在的权限名称                                       |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_NO\_MATCHING\_ABIS                                 | 应用包含设备的应用程序二进制接口不支持的 native code                     |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_CANCELED\_BY\_USER                                         | 应用安装需要在设备上确认,但未操作设备或点了取消                         | 在设备上同意安装                                                            | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_ACWF\_INCOMPATIBLE                                 | 应用程序与设备不兼容                                                     |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | does not contain AndroidManifest.xml                                | 无效的 APK 文件                                                          |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | is not a valid zip file                                             | 无效的 APK 文件                                                          |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | Offline                                                             | 设备未连接成功                                                           | 先将设备与 adb 连接成功                                                     | | 
			
		
	
		
			
				
					|  |  |  |  | | unauthorized                                                        | 设备未授权允许调试                                                       |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | error: device not found                                             | 没有连接成功的设备                                                       | 先将设备与 adb 连接成功                                                     | | 
			
		
	
		
			
				
					|  |  |  |  | | protocol failure                                                    | 设备已断开连接                                                           | 先将设备与 adb 连接成功                                                     | | 
			
		
	
		
			
				
					|  |  |  |  | | Unknown option: -s                                                  | Android 2.2 以下不支持安装到 sdcard                                      | 不使用 `-s` 参数                                                            | | 
			
		
	
		
			
				
					|  |  |  |  | | No space left on device                                             | 空间不足                                                                 | 清理空间                                                                    | | 
			
		
	
		
			
				
					|  |  |  |  | | Permission denied ... sdcard ...                                    | sdcard 不可用                                                            |                                                                             | | 
			
		
	
		
			
				
					|  |  |  |  | | signatures do not match the previously installed version; ignoring! | 已安装该应用且签名不一致                                                 | 先卸载设备上的该应用,再安装                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | 输出                                                                | 含义                                                                     | 解决办法                                                                       | | 
			
		
	
		
			
				
					|  |  |  |  | |---------------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------------| | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_ALREADY\_EXISTS                                    | 应用已经存在,或卸载了但没卸载干净                                       | `adb install` 时使用 `-r` 参数,或者先 `adb uninstall <packagename>` 再安装    | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INVALID\_APK                                       | 无效的 APK 文件                                                          |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INVALID\_URI                                       | 无效的 APK 文件名                                                        | 确保 APK 文件名里无中文                                                        | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INSUFFICIENT\_STORAGE                              | 空间不足                                                                 | 清理空间                                                                       | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_DUPLICATE\_PACKAGE                                 | 已经存在同名程序                                                         |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_NO\_SHARED\_USER                                   | 请求的共享用户不存在                                                     |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_UPDATE\_INCOMPATIBLE                               | 以前安装过同名应用,但卸载时数据没有移除;或者已安装该应用,但签名不一致 | 先 `adb uninstall <packagename>` 再安装                                        | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_SHARED\_USER\_INCOMPATIBLE                         | 请求的共享用户存在但签名不一致                                           |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_MISSING\_SHARED\_LIBRARY                           | 安装包使用了设备上不可用的共享库                                         |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_REPLACE\_COULDNT\_DELETE                           | 替换时无法删除                                                           |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_DEXOPT                                             | dex 优化验证失败或空间不足                                               |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_OLDER\_SDK                                         | 设备系统版本低于应用要求                                                 |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_CONFLICTING\_PROVIDER                              | 设备里已经存在与应用里同名的 content provider                            |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_NEWER\_SDK                                         | 设备系统版本高于应用要求                                                 |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_TEST\_ONLY                                         | 应用是 test-only 的,但安装时没有指定 `-t` 参数                          |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_CPU\_ABI\_INCOMPATIBLE                             | 包含不兼容设备 CPU 应用程序二进制接口的 native code                      |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_MISSING\_FEATURE                                   | 应用使用了设备不可用的功能                                               |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_CONTAINER\_ERROR                                   | 1. sdcard 访问失败;<br />2. 应用签名与 ROM 签名一致,被当作内置应用。    | 1. 确认 sdcard 可用,或者安装到内置存储;<br />2. 打包时不与 ROM 使用相同签名。 | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INVALID\_INSTALL\_LOCATION                         | 1. 不能安装到指定位置;<br />2. 应用签名与 ROM 签名一致,被当作内置应用。 | 1. 切换安装位置,添加或删除 `-s` 参数;<br />2. 打包时不与 ROM 使用相同签名。   | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_MEDIA\_UNAVAILABLE                                 | 安装位置不可用                                                           | 一般为 sdcard,确认 sdcard 可用或安装到内置存储                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_VERIFICATION\_TIMEOUT                              | 验证安装包超时                                                           |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_VERIFICATION\_FAILURE                              | 验证安装包失败                                                           |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_PACKAGE\_CHANGED                                   | 应用与调用程序期望的不一致                                               |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_UID\_CHANGED                                       | 以前安装过该应用,与本次分配的 UID 不一致                                | 清除以前安装过的残留文件                                                       | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_VERSION\_DOWNGRADE                                 | 已经安装了该应用更高版本                                                 | 使用 `-d` 参数                                                                 | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_PERMISSION\_MODEL\_DOWNGRADE                       | 已安装 target SDK 支持运行时权限的同名应用,要安装的版本不支持运行时权限 |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_NOT\_APK                                    | 指定路径不是文件,或不是以 `.apk` 结尾                                   |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_BAD\_MANIFEST                               | 无法解析的 AndroidManifest.xml 文件                                      |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_UNEXPECTED\_EXCEPTION                       | 解析器遇到异常                                                           |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_NO\_CERTIFICATES                            | 安装包没有签名                                                           |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_INCONSISTENT\_CERTIFICATES                  | 已安装该应用,且签名与 APK 文件不一致                                    | 先卸载设备上的该应用,再安装                                                   | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_CERTIFICATE\_ENCODING                       | 解析 APK 文件时遇到 `CertificateEncodingException`                       |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_BAD\_PACKAGE\_NAME                          | manifest 文件里没有或者使用了无效的包名                                  |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_BAD\_SHARED\_USER\_ID                       | manifest 文件里指定了无效的共享用户 ID                                   |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_MANIFEST\_MALFORMED                         | 解析 manifest 文件时遇到结构性错误                                       |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_PARSE\_FAILED\_MANIFEST\_EMPTY                             | 在 manifest 文件里找不到找可操作标签(instrumentation 或 application)   |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_INTERNAL\_ERROR                                    | 因系统问题安装失败                                                       |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_USER\_RESTRICTED                                   | 用户被限制安装应用                                                       |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_DUPLICATE\_PERMISSION                              | 应用尝试定义一个已经存在的权限名称                                       |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_NO\_MATCHING\_ABIS                                 | 应用包含设备的应用程序二进制接口不支持的 native code                     |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_CANCELED\_BY\_USER                                         | 应用安装需要在设备上确认,但未操作设备或点了取消                         | 在设备上同意安装                                                               | | 
			
		
	
		
			
				
					|  |  |  |  | | INSTALL\_FAILED\_ACWF\_INCOMPATIBLE                                 | 应用程序与设备不兼容                                                     |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | does not contain AndroidManifest.xml                                | 无效的 APK 文件                                                          |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | is not a valid zip file                                             | 无效的 APK 文件                                                          |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | Offline                                                             | 设备未连接成功                                                           | 先将设备与 adb 连接成功                                                        | | 
			
		
	
		
			
				
					|  |  |  |  | | unauthorized                                                        | 设备未授权允许调试                                                       |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | error: device not found                                             | 没有连接成功的设备                                                       | 先将设备与 adb 连接成功                                                        | | 
			
		
	
		
			
				
					|  |  |  |  | | protocol failure                                                    | 设备已断开连接                                                           | 先将设备与 adb 连接成功                                                        | | 
			
		
	
		
			
				
					|  |  |  |  | | Unknown option: -s                                                  | Android 2.2 以下不支持安装到 sdcard                                      | 不使用 `-s` 参数                                                               | | 
			
		
	
		
			
				
					|  |  |  |  | | No space left on device                                             | 空间不足                                                                 | 清理空间                                                                       | | 
			
		
	
		
			
				
					|  |  |  |  | | Permission denied ... sdcard ...                                    | sdcard 不可用                                                            |                                                                                | | 
			
		
	
		
			
				
					|  |  |  |  | | signatures do not match the previously installed version; ignoring! | 已安装该应用且签名不一致                                                 | 先卸载设备上的该应用,再安装                                                   | | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 参考:[PackageManager.java](https://github.com/android/platform_frameworks_base/blob/master/core%2Fjava%2Fandroid%2Fcontent%2Fpm%2FPackageManager.java) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |