InstallFailure

Represents the cause of installation failure. Contains string representation in message property.

May be either Exceptional, Generic, Aborted, Blocked, Conflict, Incompatible, Invalid, Storage or Timeout.

Inheritors

Types

Link copied to clipboard
data class Aborted(val message: String?) : InstallFailure

The operation failed because it was actively aborted. For example, the user actively declined requested permissions, or the session was abandoned.

Link copied to clipboard
data class Blocked @JvmOverloads constructor(val message: String?, val otherPackageName: String? = null) : InstallFailure

The operation failed because it was blocked. For example, a device policy may be blocking the operation, a package verifier may have blocked the operation, or the app may be required for core system operation.

Link copied to clipboard
data class Conflict @JvmOverloads constructor(val message: String?, val otherPackageName: String? = null) : InstallFailure

The operation failed because it conflicts (or is inconsistent with) with another package already installed on the device. For example, an existing permission, incompatible certificates, etc. The user may be able to uninstall another app to fix the issue.

Link copied to clipboard

The operation failed because an exception was thrown.

Link copied to clipboard
data class Generic @JvmOverloads constructor(val message: String? = null) : InstallFailure

The operation failed in a generic way. The system will always try to provide a more specific failure reason, but in some rare cases this may be delivered.

Link copied to clipboard
data class Incompatible(val message: String?) : InstallFailure

The operation failed because it is fundamentally incompatible with this device. For example, the app may require a hardware feature that doesn't exist, it may be missing native code for the ABIs supported by the device, or it requires a newer SDK version, etc.

Link copied to clipboard
data class Invalid(val message: String?) : InstallFailure

The operation failed because one or more of the APKs was invalid. For example, they might be malformed, corrupt, incorrectly signed, mismatched, etc.

Link copied to clipboard
data class Storage @JvmOverloads constructor(val message: String?, val storagePath: String? = null) : InstallFailure

The operation failed because of storage issues. For example, the device may be running low on space, or external media may be unavailable. The user may be able to help free space or insert different external media.

Link copied to clipboard
data class Timeout(val message: String?) : InstallFailure

The operation failed because it didn't complete within the specified timeout.

Properties

Link copied to clipboard
open val message: String?

Detailed string representation of the status, including raw details that are useful for debugging.