Files
kooltab-update-server/internal/apk_util/apk.go
T
2026-07-28 09:58:33 +02:00

54 lines
929 B
Go

package apk_util
import (
"github.com/shogo82148/androidbinary/apk"
)
// Info holds basic APK version information.
type Info struct {
Version string
VersionCode int32
}
// Version returns the versionName from an APK's manifest.
func Version(path string) (string, error) {
a, err := apk.OpenFile(path)
if err != nil {
return "", err
}
defer a.Close()
v, err := a.Manifest().VersionName.String()
if err != nil {
return "", err
}
return v, nil
}
// Read returns version name and version code from an APK's manifest.
func Read(path string) (*Info, error) {
a, err := apk.OpenFile(path)
if err != nil {
return nil, err
}
defer a.Close()
manifest := a.Manifest()
version, err := manifest.VersionName.String()
if err != nil {
return nil, err
}
code, err := manifest.VersionCode.Int32()
if err != nil {
return nil, err
}
return &Info{
Version: version,
VersionCode: code,
}, nil
}