背景:
调试应用时,我们会常用到 pm install xxx.apk 或 adb install xxx.apk,这个时候,如果安装成功,系统会有一个 Seccess 的通知。同样,安装失败或出错,系统也会有一个安装失败的通知。
通常,在失败的通知中,会有一个中括号,其中包着安卓系统关于安装失败的一个原因简述,现提供一份安装失败的原因查询表,供调试者,开发者使用。
备注:
- Author:
迷你小猪
- Email:
1281641968@qq.com
- BasedOn:
Android 6.0 Platform
- LinkedTo: PackageManager.java
- InstallWay:
pm install xxx.apk
或者adb install xxx.apk
安装失败关键字 | 原因 |
---|---|
INSTALL_FAILED_ALREADY_EXISTS | 此安装包已被安装 |
INSTALL_FAILED_INVALID_APK | 安装包不可用 |
INSTALL_FAILED_INVALID_URI | 安装地址不可用 |
INSTALL_FAILED_INSUFFICIENT_STORAGE | 无充足空间安装应用 |
INSTALL_FAILED_DUPLICATE_PACKAGE | 存在同名的安装程序 |
INSTALL_FAILED_NO_SHARED_USER | 共享用户不存在 |
INSTALL_FAILED_UPDATE_INCOMPATIBLE | 校验更新不兼容 |
INSTALL_FAILED_SHARED_USER_INCOMPATIBLE | 共享用户不匹配 |
INSTALL_FAILED_MISSING_SHARED_LIBRARY | 共享库不正确 |
INSTALL_FAILED_REPLACE_COULDNT_DELETE | 共享库内部错误 |
INSTALL_FAILED_DEXOPT | 空间不足或校验失败(内部dex文件错误) |
INSTALL_FAILED_OLDER_SDK | 安装包SDK版本过旧 |
INSTALL_FAILED_CONFLICTING_PROVIDER | 存在同名的内容提供者 |
INSTALL_FAILED_NEWER_SDK | 安装包SDK版本过新 |
INSTALL_FAILED_TEST_ONLY | 调用者不被允许测试的测试程序 |
INSTALL_FAILED_CPU_ABI_INCOMPATIBLE | Native库和系统架构不一致 |
INSTALL_FAILED_MISSING_FEATURE | 安装包引用了过新的功能 |
INSTALL_FAILED_CONTAINER_ERROR | 无法在外部媒体上访问安全容器装入点 |
INSTALL_FAILED_INVALID_INSTALL_LOCATION | 程序包无法安装在指定的安装位置 |
INSTALL_FAILED_MEDIA_UNAVAILABLE | 程序包无法安装在指定的安装位置,因为该介质不可用 |
INSTALL_FAILED_VERIFICATION_TIMEOUT | 由于验证超时,无法安装新软件包 |
INSTALL_FAILED_VERIFICATION_FAILURE | 无法安装新软件包,因为验证未成功 |
INSTALL_FAILED_PACKAGE_CHANGED | 程序包改变了调用程序的预期 |
INSTALL_FAILED_UID_CHANGED | 新包被分配了一个不同于以前保存的UID |
INSTALL_FAILED_VERSION_DOWNGRADE | 新软件包的旧版本代码比当前安装的软件包更旧 |
INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE | 旧包具有足够高的目标SDK以支持运行时权限,并且新包具有足够低的目标SDK以不支持运行时权限 |
INSTALL_PARSE_FAILED_NOT_APK | 解析器被赋予一个不是文件的路径,或者没有以预期的''.apk'扩展名结束 |
INSTALL_PARSE_FAILED_BAD_MANIFEST | 解析器无法检索AndroidManifest.xml文件 |
INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION | 解析器遇到意外的异常 |
INSTALL_PARSE_FAILED_NO_CERTIFICATES | 解析器在.apk中找不到任何证书 |
INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES | 解析器在.apk中的文件上找到了不一致的证书 |
INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING | 解析器在.apk中的一个文件中遇到CertificateEncodingException |
INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME | 解析器在清单中遇到错误或缺少的包名称 |
INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID | 解析器在清单中遇到错误的共享用户标识名称 |
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED | 解析器在清单中遇到了一些结构问题 |
INSTALL_PARSE_FAILED_MANIFEST_EMPTY | 解析器未在清单中找到任何可操作的标记(检测或应用程序) |
INSTALL_FAILED_INTERNAL_ERROR | 由于系统问题,系统无法安装软件包 |
INSTALL_FAILED_USER_RESTRICTED | 系统无法安装软件包,因为用户无法安装应用程序 |
INSTALL_FAILED_DUPLICATE_PERMISSION | 系统无法安装程序包,因为它正在尝试定义已由某个现有程序包定义的权限 |
INSTALL_FAILED_NO_MATCHING_ABIS | 系统无法安装软件包,因为其打包的本机代码与系统支持的任何ABI都不匹配 |
NO_NATIVE_LIBRARIES | 正在处理的应用包不包含任何Native代码 |
INSTALL_FAILED_ABORTED | 安装包安装过程中被系统终止 |
简要示例:
pkg: xxx.apk
Failure [INSTALL_FAILED_INVALID_URI]