init
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user