mirror of https://github.com/mvdan/fdroidcl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
5.3 KiB
109 lines
5.3 KiB
// Copyright (c) 2015, Daniel Martí <mvdan@mvdan.cc> |
|
// See LICENSE for licensing information |
|
|
|
package adb |
|
|
|
import ( |
|
"errors" |
|
"fmt" |
|
) |
|
|
|
var ( |
|
// Common install and uninstall errors |
|
ErrInternalError = errors.New("internal error") |
|
ErrUserRestricted = errors.New("user restricted") |
|
ErrAborted = errors.New("aborted") |
|
|
|
// Install errors |
|
ErrAlreadyExists = errors.New("already exists") |
|
ErrInvalidApk = errors.New("invalid apk") |
|
ErrInvalidURI = errors.New("invalid uri") |
|
ErrInsufficientStorage = errors.New("insufficient storage") |
|
ErrDuplicatePackage = errors.New("duplicate package") |
|
ErrNoSharedUser = errors.New("no shared user") |
|
ErrUpdateIncompatible = errors.New("update incompatible") |
|
ErrSharedUserIncompatible = errors.New("shared user incompatible") |
|
ErrMissingSharedLibrary = errors.New("missing shared library") |
|
ErrReplaceCouldntDelete = errors.New("replace couldn't delete") |
|
ErrDexopt = errors.New("dexopt") |
|
ErrOlderSdk = errors.New("older sdk") |
|
ErrConflictingProvider = errors.New("conflicting provider") |
|
ErrNewerSdk = errors.New("newer sdk") |
|
ErrTestOnly = errors.New("test only") |
|
ErrCPUAbiIncompatible = errors.New("cpu abi incompatible") |
|
ErrMissingFeature = errors.New("missing feature") |
|
ErrContainerError = errors.New("combiner error") |
|
ErrInvalidInstallLocation = errors.New("invalid install location") |
|
ErrMediaUnavailable = errors.New("media unavailable") |
|
ErrVerificationTimeout = errors.New("verification timeout") |
|
ErrVerificationFailure = errors.New("verification failure") |
|
ErrPackageChanged = errors.New("package changed") |
|
ErrUIDChanged = errors.New("uid changed") |
|
ErrVersionDowngrade = errors.New("version downgrade") |
|
ErrNotApk = errors.New("not apk") |
|
ErrBadManifest = errors.New("bad manifest") |
|
ErrUnexpectedException = errors.New("unexpected exception") |
|
ErrNoCertificates = errors.New("no certificates") |
|
ErrInconsistentCertificates = errors.New("inconsistent certificates") |
|
ErrCertificateEncoding = errors.New("certificate encoding") |
|
ErrBadPackageName = errors.New("bad package name") |
|
ErrBadSharedUserID = errors.New("bad shared user id") |
|
ErrManifestMalformed = errors.New("manifest malformed") |
|
ErrManifestEmpty = errors.New("manifest empty") |
|
ErrDuplicatePermission = errors.New("duplicate permission") |
|
ErrNoMatchingAbis = errors.New("no matching abis") |
|
|
|
// Uninstall errors |
|
ErrDevicePolicyManager = errors.New("device policy manager") |
|
ErrOwnerBlocked = errors.New("owner blocked") |
|
) |
|
|
|
var errorVals = map[string]error{ |
|
"FAILED_ALREADY_EXISTS": ErrAlreadyExists, |
|
"FAILED_INVALID_APK": ErrInvalidApk, |
|
"FAILED_INVALID_URI": ErrInvalidURI, |
|
"FAILED_INSUFFICIENT_STORAGE": ErrInsufficientStorage, |
|
"FAILED_DUPLICATE_PACKAGE": ErrDuplicatePackage, |
|
"FAILED_NO_SHARED_USER": ErrNoSharedUser, |
|
"FAILED_UPDATE_INCOMPATIBLE": ErrUpdateIncompatible, |
|
"FAILED_SHARED_USER_INCOMPATIBLE": ErrSharedUserIncompatible, |
|
"FAILED_MISSING_SHARED_LIBRARY": ErrMissingSharedLibrary, |
|
"FAILED_REPLACE_COULDNT_DELETE": ErrReplaceCouldntDelete, |
|
"FAILED_DEXOPT": ErrDexopt, |
|
"FAILED_OLDER_SDK": ErrOlderSdk, |
|
"FAILED_CONFLICTING_PROVIDER": ErrConflictingProvider, |
|
"FAILED_NEWER_SDK": ErrNewerSdk, |
|
"FAILED_TEST_ONLY": ErrTestOnly, |
|
"FAILED_CPU_ABI_INCOMPATIBLE": ErrCPUAbiIncompatible, |
|
"FAILED_MISSING_FEATURE": ErrMissingFeature, |
|
"FAILED_CONTAINER_ERROR": ErrContainerError, |
|
"FAILED_INVALID_INSTALL_LOCATION": ErrInvalidInstallLocation, |
|
"FAILED_MEDIA_UNAVAILABLE": ErrMediaUnavailable, |
|
"FAILED_VERIFICATION_TIMEOUT": ErrVerificationTimeout, |
|
"FAILED_VERIFICATION_FAILURE": ErrVerificationFailure, |
|
"FAILED_PACKAGE_CHANGED": ErrPackageChanged, |
|
"FAILED_UID_CHANGED": ErrUIDChanged, |
|
"FAILED_VERSION_DOWNGRADE": ErrVersionDowngrade, |
|
"PARSE_FAILED_NOT_APK": ErrNotApk, |
|
"PARSE_FAILED_BAD_MANIFEST": ErrBadManifest, |
|
"PARSE_FAILED_UNEXPECTED_EXCEPTION": ErrUnexpectedException, |
|
"PARSE_FAILED_NO_CERTIFICATES": ErrNoCertificates, |
|
"PARSE_FAILED_INCONSISTENT_CERTIFICATES": ErrInconsistentCertificates, |
|
"PARSE_FAILED_CERTIFICATE_ENCODING": ErrCertificateEncoding, |
|
"PARSE_FAILED_BAD_PACKAGE_NAME": ErrBadPackageName, |
|
"PARSE_FAILED_BAD_SHARED_USER_ID": ErrBadSharedUserID, |
|
"PARSE_FAILED_MANIFEST_MALFORMED": ErrManifestMalformed, |
|
"PARSE_FAILED_MANIFEST_EMPTY": ErrManifestEmpty, |
|
"FAILED_INTERNAL_ERROR": ErrInternalError, |
|
"FAILED_USER_RESTRICTED": ErrUserRestricted, |
|
"FAILED_DUPLICATE_PERMISSION": ErrDuplicatePermission, |
|
"FAILED_NO_MATCHING_ABIS": ErrNoMatchingAbis, |
|
"FAILED_ABORTED": ErrAborted, |
|
} |
|
|
|
func parseError(s string) error { |
|
if err, e := errorVals[s]; e { |
|
return err |
|
} |
|
return fmt.Errorf("unknown error: %s", s) |
|
}
|
|
|