Files
kooltab-update-server/internal/apk_util/apk.go
T

38 lines
640 B
Go

package apk_util
import (
"github.com/shogo82148/androidbinary/apk"
)
// Info holds basic APK version information.
type Info struct {
Version string
VersionCode int32
}
// 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
}