base-golang/pkg/android_binary/apk/apkxml.go

109 lines
6.8 KiB
Go
Raw Normal View History

2024-07-23 10:23:43 +08:00
package apk
import "git.bvbej.com/bvbej/base-golang/pkg/android_binary"
// Instrumentation is an application instrumentation code.
type Instrumentation struct {
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
Target android_binary.String `xml:"http://schemas.android.com/apk/res/android targetPackage,attr"`
HandleProfiling android_binary.Bool `xml:"http://schemas.android.com/apk/res/android handleProfiling,attr"`
FunctionalTest android_binary.Bool `xml:"http://schemas.android.com/apk/res/android functionalTest,attr"`
}
// ActivityAction is an action of an activity.
type ActivityAction struct {
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
}
// ActivityCategory is a category of an activity.
type ActivityCategory struct {
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
}
// ActivityIntentFilter is an androidbinary.Int32ent filter of an activity.
type ActivityIntentFilter struct {
Actions []ActivityAction `xml:"action"`
Categories []ActivityCategory `xml:"category"`
}
// AppActivity is an activity in an application.
type AppActivity struct {
Theme android_binary.String `xml:"http://schemas.android.com/apk/res/android theme,attr"`
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
Label android_binary.String `xml:"http://schemas.android.com/apk/res/android label,attr"`
ScreenOrientation android_binary.String `xml:"http://schemas.android.com/apk/res/android screenOrientation,attr"`
IntentFilters []ActivityIntentFilter `xml:"intent-filter"`
}
// AppActivityAlias https://developer.android.com/guide/topics/manifest/activity-alias-element
type AppActivityAlias struct {
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
Label android_binary.String `xml:"http://schemas.android.com/apk/res/android label,attr"`
TargetActivity android_binary.String `xml:"http://schemas.android.com/apk/res/android targetActivity,attr"`
IntentFilters []ActivityIntentFilter `xml:"intent-filter"`
}
// MetaData is a metadata in an application.
type MetaData struct {
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
Value android_binary.String `xml:"http://schemas.android.com/apk/res/android value,attr"`
}
// Application is an application in an APK.
type Application struct {
AllowTaskReparenting android_binary.Bool `xml:"http://schemas.android.com/apk/res/android allowTaskReparenting,attr"`
AllowBackup android_binary.Bool `xml:"http://schemas.android.com/apk/res/android allowBackup,attr"`
BackupAgent android_binary.String `xml:"http://schemas.android.com/apk/res/android backupAgent,attr"`
Debuggable android_binary.Bool `xml:"http://schemas.android.com/apk/res/android debuggable,attr"`
Description android_binary.String `xml:"http://schemas.android.com/apk/res/android description,attr"`
Enabled android_binary.Bool `xml:"http://schemas.android.com/apk/res/android enabled,attr"`
HasCode android_binary.Bool `xml:"http://schemas.android.com/apk/res/android hasCode,attr"`
HardwareAccelerated android_binary.Bool `xml:"http://schemas.android.com/apk/res/android hardwareAccelerated,attr"`
Icon android_binary.String `xml:"http://schemas.android.com/apk/res/android icon,attr"`
KillAfterRestore android_binary.Bool `xml:"http://schemas.android.com/apk/res/android killAfterRestore,attr"`
LargeHeap android_binary.Bool `xml:"http://schemas.android.com/apk/res/android largeHeap,attr"`
Label android_binary.String `xml:"http://schemas.android.com/apk/res/android label,attr"`
Logo android_binary.String `xml:"http://schemas.android.com/apk/res/android logo,attr"`
ManageSpaceActivity android_binary.String `xml:"http://schemas.android.com/apk/res/android manageSpaceActivity,attr"`
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
Permission android_binary.String `xml:"http://schemas.android.com/apk/res/android permission,attr"`
Persistent android_binary.Bool `xml:"http://schemas.android.com/apk/res/android persistent,attr"`
Process android_binary.String `xml:"http://schemas.android.com/apk/res/android process,attr"`
RestoreAnyVersion android_binary.Bool `xml:"http://schemas.android.com/apk/res/android restoreAnyVersion,attr"`
RequiredAccountType android_binary.String `xml:"http://schemas.android.com/apk/res/android requiredAccountType,attr"`
RestrictedAccountType android_binary.String `xml:"http://schemas.android.com/apk/res/android restrictedAccountType,attr"`
SupportsRtl android_binary.Bool `xml:"http://schemas.android.com/apk/res/android supportsRtl,attr"`
TaskAffinity android_binary.String `xml:"http://schemas.android.com/apk/res/android taskAffinity,attr"`
TestOnly android_binary.Bool `xml:"http://schemas.android.com/apk/res/android testOnly,attr"`
Theme android_binary.String `xml:"http://schemas.android.com/apk/res/android theme,attr"`
UIOptions android_binary.String `xml:"http://schemas.android.com/apk/res/android uiOptions,attr"`
VMSafeMode android_binary.Bool `xml:"http://schemas.android.com/apk/res/android vmSafeMode,attr"`
Activities []AppActivity `xml:"activity"`
ActivityAliases []AppActivityAlias `xml:"activity-alias"`
MetaData []MetaData `xml:"meta-data"`
}
// UsesSDK is target SDK version.
type UsesSDK struct {
Min android_binary.Int32 `xml:"http://schemas.android.com/apk/res/android minSdkVersion,attr"`
Target android_binary.Int32 `xml:"http://schemas.android.com/apk/res/android targetSdkVersion,attr"`
Max android_binary.Int32 `xml:"http://schemas.android.com/apk/res/android maxSdkVersion,attr"`
}
// UsesPermission is user grant the system permission.
type UsesPermission struct {
Name android_binary.String `xml:"http://schemas.android.com/apk/res/android name,attr"`
Max android_binary.Int32 `xml:"http://schemas.android.com/apk/res/android maxSdkVersion,attr"`
}
// Manifest is a manifest of an APK.
type Manifest struct {
Package android_binary.String `xml:"package,attr"`
VersionCode android_binary.Int32 `xml:"http://schemas.android.com/apk/res/android versionCode,attr"`
VersionName android_binary.String `xml:"http://schemas.android.com/apk/res/android versionName,attr"`
App Application `xml:"application"`
Instrument Instrumentation `xml:"instrumentation"`
SDK UsesSDK `xml:"uses-sdk"`
UsesPermissions []UsesPermission `xml:"uses-permission"`
}