安裝APK的錯誤碼,定義在Android源碼中的這個文件中:
frameworks\base\core\Java\android\content\pm\PackageManager.java
- /**
- * if the package is already installed.
- * 程序已經存在
- */
- public static final int INSTALL_FAILED_ALREADY_EXISTS = -1;
- /**
- * if the package archive file is invalid.
- * 無效的APK
- */
- public static final int INSTALL_FAILED_INVALID_APK = -2;
- /**
- * if the URI passed in is invalid.
- * 無效的鏈接
- */
- public static final int INSTALL_FAILED_INVALID_URI = -3;
- /**
- * if the package manager service found that the device
- * didn't have enough storage space to install the app.
- * 沒有足夠的存儲空間
- */
- public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4;
- /**
- * if a package is already installed with the same name.
- * 已存在同名程序
- */
- public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5;
- /**
- * if the requested shared user does not exist.
- * 共享用戶不存在
- */
- public static final int INSTALL_FAILED_NO_SHARED_USER = -6;
- /**
- * if a previously installed package of the same name has a different signature
- * than the new package (and the old package's data was not removed).
- * 更新不兼容
- */
- public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7;
- /**
- * if the new package is requested a shared user which is already installed
- * on the device and does not have matching signature.
- * 共享用戶不兼容
- */
- public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8;
- /**
- * if the new package uses a shared library that is not available.
- * 共享庫已丟失
- */
- public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9;
- /**
- * if the new package uses a shared library that is not available.
- * 替換時無法刪除
- */
- public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10;
- /**
- * if the new package failed while optimizing and validating its dex files,
- * either because there was not enough storage or the validation failed.
- * 空間不足或驗證失敗
- */
- public static final int INSTALL_FAILED_DEXOPT = -11;
- /**
- * if the new package failed because the current SDK version is older than
- * that required by the package.
- * 系統版本過舊
- */
- public static final int INSTALL_FAILED_OLDER_SDK = -12;
- /**
- * if the new package failed because it contains a content provider with the
- * same authority as a provider already installed in the system.
- * 存在同名的內容提供者
- */
- public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13;
- /**
- * if the new package failed because the current SDK version is newer than
- * that required by the package.
- * 系統版本過新
- */
- public static final int INSTALL_FAILED_NEWER_SDK = -14;
- /**
- * if the new package failed because it has specified that it is a test-only
- * package and the caller has not supplied the {@link #INSTALL_ALLOW_TEST}
- * flag.
- * 調用者不被允許測試的測試程序
- */
- public static final int INSTALL_FAILED_TEST_ONLY = -15;
- /**
- * if the package being installed contains native code, but none that is
- * compatible with the the device's CPU_ABI.
- * 包含的本機代碼不兼容CPU_ABI
- */
- public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16;
- /**
- * if the new package uses a feature that is not available.
- * 使用了一個無效的特性
- */
- public static final int INSTALL_FAILED_MISSING_FEATURE = -17;
- // ------ Errors related to sdcard
- /**
- * if a secure container mount point couldn't be accessed on external media.
- * SD卡訪問失敗
- */
- public static final int INSTALL_FAILED_CONTAINER_ERROR = -18;
- /**
- * if the new package couldn't be installed in the specified install location.
- * 無效的安裝路徑
- */
- public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19;
- /**
- * if the new package couldn't be installed in the specified install
- * location because the media is not available.
- * SD卡不可用
- */
- public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20;
- /**
- * if the new package couldn't be installed because the verification timed out.
- * 驗證超時
- */
- public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21;
- /**
- * if the new package couldn't be installed because the verification did not succeed.
- * 驗證失敗
- */
- public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22;
- /**
- * if the package changed from what the calling program expected.
- * 預期的應用被改變
- */
- public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23;
- /**
- * if the parser was given a path that is not a file, or does not end
- * with the expected '.apk' extension.
- * 解析失敗,不是APK
- */
- public static final int INSTALL_PARSE_FAILED_NOT_APK = -100;
- /**
- * if the parser was unable to retrieve the AndroidManifest.xml file.
- * 解析失敗,無法提取Manifest
- */
- public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101;
- /**
- * if the parser encountered an unexpected exception.
- * 解析失敗,無法預期的異常
- */
- public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102;
- /**
- * if the parser did not find any certificates in the .apk.
- * 解析失敗,找不到證書
- */
- public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103;
- /**
- * if the parser found inconsistent certificates on the files in the .apk.
- * 解析失敗,證書不一致
- */
- public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104;
- /**
- * if the parser encountered a CertificateEncodingException in one of the
- * files in the .apk.
- * 解析失敗,證書編碼異常
- */
- public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105;
- /**
- * if the parser encountered a bad or missing package name in the manifest.
- * 解析失敗,manifest中的包名錯誤或丟失
- */
- public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106;
- /**
- * if the parser encountered a bad shared user id name in the manifest.
- * 解析失敗,manifest中的共享用戶錯誤
- */
- public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107;
- /**
- * if the parser encountered some structural problem in the manifest.
- * 解析失敗,manifest中出現結構性錯誤
- */
- public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108;
- /**
- * if the parser did not find any actionable tags (instrumentation or application)
- * in the manifest.
- * 解析失敗,manifest中沒有actionable tags
- */
- public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109;
- /**
- * if the system failed to install the package because of system issues.
- * 系統問題導致安裝失敗
- */
- public static final int INSTALL_FAILED_INTERNAL_ERROR = -110;