feat: GetPackageInfo for android

This commit is contained in:
lilong.129
2024-09-13 21:59:48 +08:00
parent f8c2c3c7fb
commit b8e1dda6fc
4 changed files with 34 additions and 1 deletions

View File

@@ -438,6 +438,26 @@ func (dev *AndroidDevice) installCommon(app io.ReadSeeker, args ...string) error
return err
}
func (dev *AndroidDevice) GetPackageInfo(packageName string) (AppInfo, error) {
appInfo := AppInfo{
Name: packageName,
}
output, err := dev.d.RunShellCommand("dumpsys", "package", packageName, "|", "grep", "versionName")
if err != nil {
return appInfo, err
}
re := regexp.MustCompile(`versionName=(.+)`)
matches := re.FindStringSubmatch(output)
if len(matches) > 1 {
appInfo.AppBaseInfo = AppBaseInfo{
PackageName: packageName,
VersionName: matches[1],
}
return appInfo, nil
}
return appInfo, errors.New("failed to get package version")
}
type LineCallback func(string)
type AdbLogcat struct {