Browse Source

show more detailed error message for install and uninstall

related issue: #43
pull/70/head
Linus789 3 years ago
parent
commit
963273783b
  1. 33
      adb/device.go

33
adb/device.go

@ -167,27 +167,29 @@ var installFailureRegex = regexp.MustCompile(`^Failure \[INSTALL_(.+)\]$`)
func (d *Device) Install(path string) error {
cmd := d.AdbCmd(append([]string{"install", "-r"}, path)...)
output, err := cmd.CombinedOutput()
if err != nil {
return err
}
line := getResultLine(output)
if line == "Success" {
if err == nil && line == "Success" {
return nil
}
return parseError(getFailureCode(installFailureRegex, line))
errMsg := parseError(getFailureCode(installFailureRegex, line))
if err != nil {
return fmt.Errorf("%v: %v", err, errMsg)
}
return errMsg
}
func (d *Device) InstallUser(path, user string) error {
cmd := d.AdbCmd(append([]string{"install", "-r", "--user"}, user, path)...)
output, err := cmd.CombinedOutput()
if err != nil {
return err
}
line := getResultLine(output)
if line == "Success" {
if err == nil && line == "Success" {
return nil
}
return parseError(getFailureCode(installFailureRegex, line))
errMsg := parseError(getFailureCode(installFailureRegex, line))
if err != nil {
return fmt.Errorf("%v: %v", err, errMsg)
}
return errMsg
}
func getResultLine(output []byte) string {
@ -210,14 +212,15 @@ var deleteFailureRegex = regexp.MustCompile(`^Failure \[DELETE_(.+)\]$`)
func (d *Device) Uninstall(pkg string) error {
cmd := d.AdbCmd("uninstall", pkg)
output, err := cmd.CombinedOutput()
if err != nil {
return err
}
line := getResultLine(output)
if line == "Success" {
if err == nil && line == "Success" {
return nil
}
return parseError(getFailureCode(deleteFailureRegex, line))
errMsg := parseError(getFailureCode(deleteFailureRegex, line))
if err != nil {
return fmt.Errorf("%v: %v", err, errMsg)
}
return errMsg
}
type Package struct {

Loading…
Cancel
Save