当前位置: 首页 > news >正文

Android 使用aapt工具获取apk信息

aapt 工具的官网说明 https://developer.android.google.cn/studio/command-line/aapt2?hl=zh_cn

功能有很多,本篇记录怎么使用aapt工具获取apk信息。

在 Aosp 源码下,

执行 source 、lunch 后,直接输入 aapt 就可以使用了。

不执行 source 、lunch ,也可以使用,要带上完整路径 ./prebuilts/sdk/tools/linux/bin/aapt

aapt help

输入 aapt help 或者 直接输入,不带参数,都会提示如下,

Android Asset Packaging ToolUsage:aapt l[ist] [-v] [-a] file.{zip,jar,apk}List contents of Zip-compatible archive.aapt d[ump] [--values] [--include-meta-data] WHAT file.{apk} [asset [asset ...]]strings          Print the contents of the resource table string pool in the APK.badging          Print the label and icon for the app declared in APK.permissions      Print the permissions from the APK.resources        Print the resource table from the APK.configurations   Print the configurations in the APK.xmltree          Print the compiled xmls in the given assets.xmlstrings       Print the strings of the given compiled xml assets.aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \[-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \[--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \[--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \[--rename-manifest-package PACKAGE] \[--rename-instrumentation-target-package PACKAGE] \[--utf16] [--auto-add-overlay] \[--max-res-version VAL] \[-I base-package [-I base-package ...]] \[-A asset-source-dir]  [-G class-list-file] [-P public-definitions-file] \[-D main-dex-class-list-file] \[-S resource-sources [-S resource-sources ...]] \[-F apk-file] [-J R-file-dir] \[--product product1,product2,...] \[-c CONFIGS] [--preferred-density DENSITY] \[--split CONFIGS [--split CONFIGS]] \[--feature-of package [--feature-after package]] \[raw-files-dir [raw-files-dir] ...] \[--output-text-symbols DIR]Package the android resources.  It will read assets and resources that aresupplied with the -M -A -S or raw-files-dir arguments.  The -J -P -F and -Roptions control which files are output.aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]Delete specified files from Zip-compatible archive.aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]Add specified files to Zip-compatible archive.aapt c[runch] [-v] -S resource-sources ... -C output-folder ...Do PNG preprocessing on one or several resource foldersand store the results in the output folder.aapt s[ingleCrunch] [-v] -i input-file -o outputfileDo PNG preprocessing on a single file.aapt v[ersion]Print program version.Modifiers:-a  print Android-specific data (resources, manifest) when listing-c  specify which configurations to include.  The default is allconfigurations.  The value of the parameter should be a commaseparated list of configuration values.  Locales should be specifiedas either a language or language-region pair.  Some examples:enport,enport,land,en_US-d  one or more device assets to include, separated by commas-f  force overwrite of existing files-g  specify a pixel tolerance to force images to grayscale, default 0-j  specify a jar or zip file containing classes to include-k  junk path of file(s) added-m  make package directories under location specified by -J-u  update existing packages (add new, replace older, remove deleted files)-v  verbose output-x  create extending (non-application) resource IDs-z  require localization of resource attributes marked withlocalization="suggested"-A  additional directory in which to find raw asset files-G  A file to output proguard options into.-D  A file to output proguard options for the main dex into.-F  specify the apk file to output-I  add an existing package to base include set-J  specify where to output R.java resource constant definitions-M  specify full path to AndroidManifest.xml to include in zip-P  specify where to output public resource definitions-S  directory in which to find resources.  Multiple directories will be scannedand the first match found (left to right) will take precedence.-0  specifies an additional extension for which such files will notbe stored compressed in the .apk.  An empty string means to notcompress any files at all.--debug-modeinserts android:debuggable="true" in to the application node of themanifest, making the application debuggable even on production devices.--include-meta-datawhen used with "dump badging" also includes meta-data tags.--pseudo-localizegenerate resources for pseudo-locales (en-XA and ar-XB).--min-sdk-versioninserts android:minSdkVersion in to manifest.  If the version is 7 orhigher, the default encoding for resources will be in UTF-8.--target-sdk-versioninserts android:targetSdkVersion in to manifest.--max-res-versionignores versioned resource directories above the given value.--valueswhen used with "dump resources" also includes resource values.--version-codeinserts android:versionCode in to manifest.--version-nameinserts android:versionName in to manifest.--replace-versionIf --version-code and/or --version-name are specified, thesevalues will replace any value already in the manifest. Bydefault, nothing is changed if the manifest already definesthese attributes.--custom-packagegenerates R.java into a different package.--extra-packagesgenerate R.java for libraries. Separate libraries with ':'.--generate-dependenciesgenerate dependency files in the same directories for R.java and resource package--auto-add-overlayAutomatically add resources that are only in overlays.--preferred-densitySpecifies a preference for a particular density. Resources that do notmatch this density and have variants that are a closer match are removed.--splitBuilds a separate split APK for the configurations listed. This canbe loaded alongside the base APK at runtime.--feature-ofBuilds a split APK that is a feature of the apk specified here. Resourcesin the base APK can be referenced from the the feature APK.--feature-afterAn app can have multiple Feature Split APKs which must be totally ordered.If --feature-of is specified, this flag specifies which Feature Split APKcomes before this one. The first Feature Split APK should not defineanything here.--rename-manifest-packageRewrite the manifest so that its package name is the package namegiven here.  Relative class names (for example .Foo) will bechanged to absolute names with the old package so that the codedoes not need to change.--rename-instrumentation-target-packageRewrite the manifest so that all of its instrumentationcomponents target the given package.  Useful when used inconjunction with --rename-manifest-package to fix tests againsta package that has been renamed.--productSpecifies which variant to choose for strings that haveproduct variants--utf16changes default encoding for resources to UTF-16.  Only useful when APIlevel is set to 7 or higher where the default encoding is UTF-8.--non-constant-idMake the resources ID non constant. This is required to make an R java classthat does not contain the final value but is used to make reusable compiledlibraries that need to access resources.--shared-libMake a shared library resource package that can be loaded by an applicationat runtime to access the libraries resources. Implies --non-constant-id.--app-as-shared-libMake an app resource package that also can be loaded as shared library at runtime.Implies --non-constant-id.--error-on-failed-insertForces aapt to return an error if it fails to insert values into the manifestwith --debug-mode, --min-sdk-version, --target-sdk-version --version-codeand --version-name.Insertion typically fails if the manifest already defines the attribute.--error-on-missing-config-entryForces aapt to return an error if it fails to find an entry for a configuration.--output-text-symbolsGenerates a text file containing the resource symbols of the R class in thespecified folder.--ignore-assetsAssets to be ignored. Default pattern is:!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~--skip-symbols-without-default-localizationPrevents symbols from being generated for strings that do not have a defaultlocalization--no-version-vectorsDo not automatically generate versioned copies of vector XML resources.--no-version-transitionsDo not automatically generate versioned copies of transition XML resources.--private-symbolsJava package name to use when generating R.java for private resources.

aapt dump

aapt dump strings

以 packages/apps/TvSettings/Settings 为例,
执行 aapt dump strings out/target/product/<product_name>/system/priv-app/TvSettings/TvSettings.apk

部分结果如下

String pool of 3476 unique UTF-8 non-sorted strings, 3476 entries and 0 styles using 127860 bytes:
String #0: res/anim/abc_fade_in.xml
String #1: res/anim/abc_fade_out.xml
String #2: res/anim/abc_grow_fade_in_from_bottom.xml
String #3: res/anim/abc_popup_enter.xml
String #4: res/anim/abc_popup_exit.xml
String #5: res/anim/abc_shrink_fade_out_from_bottom.xml
String #6: res/anim/abc_slide_in_bottom.xml
String #7: res/anim/abc_slide_in_top.xml
String #8: res/anim/abc_slide_out_bottom.xml
String #9: res/anim/abc_slide_out_top.xml
String #10: res/anim/abc_tooltip_enter.xml
String #11: res/anim/abc_tooltip_exit.xml
...
String #937: Bluetooth
String #938: Bluetooth AVRCP Version
String #939: Bluetooth Audio Bits Per Sample
String #940: Bluetooth Audio Channel Mode
String #941: Bluetooth Audio Codec
String #942: Bluetooth Audio LDAC Codec: Playback Quality
String #943: Bluetooth Audio Sample Rate
String #944: Bluetooth devices without names (MAC addresses only) will be displayed
String #945: Bluetooth tethering
String #946: Bug report shortcut
...
String #2156: 动画缩放 0.5x
String #2157: 动画缩放 1.5x
String #2158: 动画缩放 10x
String #2159: 动画缩放 1x
String #2160: 动画缩放 2x
String #2161: 动画缩放 5x
String #2162: 助听器
String #2163: 单声道
String #2164: 卧室电视
String #2165: 卸载
String #2166: 卸载更新
String #2167: 发现了一部设备,将会在%1$s秒后自动配对

aapt dump badging

执行 aapt dump badging out/target/product/<product_name>/system/priv-app/TvSettings/TvSettings.apk

得到 包名、lable 、versionCode 、versionName 、compileSdkVersion 、compileSdkVersionCodename 、sdkVersion 、targetSdkVersion 、申请的权限、uses-feature 、支持的语言和分辨率等信息。

运行结果,

package: name='com.android.tv.settings' versionCode='1' versionName='1.0' compileSdkVersion='29' compileSdkVersionCodename='10'
sdkVersion:'29'
targetSdkVersion:'29'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.BACKUP'
uses-permission: name='android.permission.BLUETOOTH'
uses-permission: name='android.permission.BLUETOOTH_ADMIN'
uses-permission: name='android.permission.CHANGE_WIFI_STATE'
uses-permission: name='android.permission.CLEAR_APP_USER_DATA'
uses-permission: name='android.permission.DELETE_CACHE_FILES'
uses-permission: name='android.permission.DUMP'
uses-permission: name='android.permission.FORCE_STOP_PACKAGES'
uses-permission: name='android.permission.GET_ACCOUNTS_PRIVILEGED'
uses-permission: name='android.permission.GET_PACKAGE_SIZE'
uses-permission: name='android.permission.INJECT_EVENTS'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.MANAGE_ACCOUNTS'
uses-permission: name='android.permission.MANAGE_DEBUGGING'
uses-permission: name='android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS'
uses-permission: name='android.permission.MANAGE_USERS'
uses-permission: name='android.permission.NETWORK_SETTINGS'
uses-permission: name='android.permission.OVERRIDE_WIFI_CONFIG'
uses-permission: name='android.permission.PEERS_MAC_ADDRESS'
uses-permission: name='android.permission.READ_CONTACTS'
uses-permission: name='android.permission.REBOOT'
uses-permission: name='android.permission.RECORD_AUDIO'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission: name='android.permission.SET_PREFERRED_APPLICATIONS'
uses-permission: name='android.permission.SET_TIME'
uses-permission: name='android.permission.SET_TIME_ZONE'
uses-permission: name='android.permission.USE_RESERVED_DISK'
uses-permission: name='android.permission.WRITE_MEDIA_STORAGE'
uses-permission: name='android.permission.WRITE_SETTINGS'
uses-permission: name='android.permission.WRITE_SECURE_SETTINGS'
uses-permission: name='android.permission.REQUEST_DELETE_PACKAGES'
uses-permission: name='com.google.android.assistant.READ_HOTWORD_STATE'
uses-permission: name='com.google.android.assistant.WRITE_HOTWORD_STATE'
application-label:'Settings'
application-label-zh-CN:'设置'
application-icon-160:'res/drawable-xhdpi-v4/logo_settings_color_48dp.png'
application-icon-240:'res/drawable-xhdpi-v4/logo_settings_color_48dp.png'
application-icon-320:'res/drawable-xhdpi-v4/logo_settings_color_48dp.png'
application-icon-640:'res/drawable-xhdpi-v4/logo_settings_color_48dp.png'
application-icon-65534:'res/drawable-xhdpi-v4/logo_settings_color_48dp.png'
application-icon-65535:'res/drawable-xhdpi-v4/logo_settings_color_48dp.png'
application: label='Settings' icon='res/drawable-xhdpi-v4/logo_settings_color_48dp.png' banner='res/drawable-xhdpi-v4/ic_launcher_banner_settings.png'
feature-group: label=''uses-feature: name='android.hardware.bluetooth'uses-implied-feature: name='android.hardware.bluetooth' reason='requested android.permission.BLUETOOTH permission, requested android.permission.BLUETOOTH_ADMIN permission, and targetSdkVersion > 4'uses-feature: name='android.hardware.faketouch'uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'uses-feature: name='android.hardware.microphone'uses-implied-feature: name='android.hardware.microphone' reason='requested android.permission.RECORD_AUDIO permission'uses-feature: name='android.hardware.wifi'uses-implied-feature: name='android.hardware.wifi' reason='requested android.permission.ACCESS_WIFI_STATE permission, and requested android.permission.CHANGE_WIFI_STATE permission'
provides-component:'launcher'
main
other-activities
other-receivers
other-services
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--' 'zh-CN'
densities: '160' '240' '320' '640' '65534' '65535'

aapt dump permissions

执行 aapt dump permissions out/target/product/<product_name>/system/priv-app/TvSettings/TvSettings.apk

运行结果只包含包名和权限信息。

package: com.android.tv.settings
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.BACKUP'
uses-permission: name='android.permission.BLUETOOTH'
uses-permission: name='android.permission.BLUETOOTH_ADMIN'
uses-permission: name='android.permission.CHANGE_WIFI_STATE'
uses-permission: name='android.permission.CLEAR_APP_USER_DATA'
uses-permission: name='android.permission.DELETE_CACHE_FILES'
uses-permission: name='android.permission.DUMP'
uses-permission: name='android.permission.FORCE_STOP_PACKAGES'
uses-permission: name='android.permission.GET_ACCOUNTS_PRIVILEGED'
uses-permission: name='android.permission.GET_PACKAGE_SIZE'
uses-permission: name='android.permission.INJECT_EVENTS'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.MANAGE_ACCOUNTS'
uses-permission: name='android.permission.MANAGE_DEBUGGING'
uses-permission: name='android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS'
uses-permission: name='android.permission.MANAGE_USERS'
uses-permission: name='android.permission.NETWORK_SETTINGS'
uses-permission: name='android.permission.OVERRIDE_WIFI_CONFIG'
uses-permission: name='android.permission.PEERS_MAC_ADDRESS'
uses-permission: name='android.permission.READ_CONTACTS'
uses-permission: name='android.permission.REBOOT'
uses-permission: name='android.permission.RECORD_AUDIO'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission: name='android.permission.SET_PREFERRED_APPLICATIONS'
uses-permission: name='android.permission.SET_TIME'
uses-permission: name='android.permission.SET_TIME_ZONE'
uses-permission: name='android.permission.USE_RESERVED_DISK'
uses-permission: name='android.permission.WRITE_MEDIA_STORAGE'
uses-permission: name='android.permission.WRITE_SETTINGS'
uses-permission: name='android.permission.WRITE_SECURE_SETTINGS'
uses-permission: name='android.permission.REQUEST_DELETE_PACKAGES'
uses-permission: name='com.google.android.assistant.READ_HOTWORD_STATE'
uses-permission: name='com.google.android.assistant.WRITE_HOTWORD_STATE'

aapt dump resources

执行 aapt dump resources out/target/product/<product_name>/system/priv-app/TvSettings/TvSettings.apk

部分运行结果

Package Groups (1)
Package Group 0 id=0x7f packageCount=1 name=com.android.tv.settingsPackage 0 id=0x7f name=com.android.tv.settingstype 0 configCount=1 entryCount=47spec resource 0x7f010000 com.android.tv.settings:anim/abc_fade_in: flags=0x00000000spec resource 0x7f010001 com.android.tv.settings:anim/abc_fade_out: flags=0x00000000spec resource 0x7f010002 com.android.tv.settings:anim/abc_grow_fade_in_from_bottom: flags=0x00000000
...type 19 configCount=1 entryCount=47spec resource 0x7f140000 com.android.tv.settings:xml/about_legal: flags=0x00000000spec resource 0x7f140001 com.android.tv.settings:xml/accessibility: flags=0x00000000spec resource 0x7f140002 com.android.tv.settings:xml/accessibility_shortcut: flags=0x00000000spec resource 0x7f140003 com.android.tv.settings:xml/accessibility_shortcut_service: flags=0x00000000spec resource 0x7f140004 com.android.tv.settings:xml/account_preference: flags=0x00000000spec resource 0x7f140005 com.android.tv.settings:xml/accounts: flags=0x00000000spec resource 0x7f140006 com.android.tv.settings:xml/all_apps: flags=0x00000000spec resource 0x7f140007 com.android.tv.settings:xml/app_usage_access: flags=0x00000000spec resource 0x7f140008 com.android.tv.settings:xml/apps: flags=0x00000000spec resource 0x7f140009 com.android.tv.settings:xml/autofill_picker: flags=0x00000000spec resource 0x7f14000a com.android.tv.settings:xml/bluetooth_accessory: flags=0x00000000spec resource 0x7f14000b com.android.tv.settings:xml/caption: flags=0x00000000spec resource 0x7f14000c com.android.tv.settings:xml/caption_custom: flags=0x00000000spec resource 0x7f14000d com.android.tv.settings:xml/date_time: flags=0x00000000spec resource 0x7f14000e com.android.tv.settings:xml/daydream: flags=0x00000000spec resource 0x7f14000f com.android.tv.settings:xml/development_prefs: flags=0x00000000spec resource 0x7f140010 com.android.tv.settings:xml/development_prefs_not_available: flags=0x00000000spec resource 0x7f140011 com.android.tv.settings:xml/device: flags=0x00000000spec resource 0x7f140012 com.android.tv.settings:xml/device_info_settings: flags=0x00000000spec resource 0x7f140013 com.android.tv.settings:xml/device_info_status: flags=0x00000000spec resource 0x7f140014 com.android.tv.settings:xml/device_restricted: flags=0x00000000spec resource 0x7f140015 com.android.tv.settings:xml/directory_access: flags=0x00000000spec resource 0x7f140016 com.android.tv.settings:xml/directory_access_details: flags=0x00000000spec resource 0x7f140017 com.android.tv.settings:xml/file_paths: flags=0x00000000spec resource 0x7f140018 com.android.tv.settings:xml/help_and_feedback: flags=0x00000000spec resource 0x7f140019 com.android.tv.settings:xml/input_options: flags=0x00000000spec resource 0x7f14001a com.android.tv.settings:xml/inputs: flags=0x00000000spec resource 0x7f14001b com.android.tv.settings:xml/keyboard: flags=0x00000000spec resource 0x7f14001c com.android.tv.settings:xml/main_prefs: flags=0x00000000spec resource 0x7f14001d com.android.tv.settings:xml/manage_external_sources: flags=0x00000000spec resource 0x7f14001e com.android.tv.settings:xml/manage_high_power: flags=0x00000000spec resource 0x7f14001f com.android.tv.settings:xml/missing_storage: flags=0x00000000spec resource 0x7f140020 com.android.tv.settings:xml/network: flags=0x00000000spec resource 0x7f140021 com.android.tv.settings:xml/notification_access: flags=0x00000000spec resource 0x7f140022 com.android.tv.settings:xml/picture_in_picture: flags=0x00000000spec resource 0x7f140023 com.android.tv.settings:xml/remotes_and_accessories: flags=0x00000000spec resource 0x7f140024 com.android.tv.settings:xml/security: flags=0x00000000spec resource 0x7f140025 com.android.tv.settings:xml/sound: flags=0x00000000spec resource 0x7f140026 com.android.tv.settings:xml/special_app_access: flags=0x00000000spec resource 0x7f140027 com.android.tv.settings:xml/storage: flags=0x00000000spec resource 0x7f140028 com.android.tv.settings:xml/storage_summary: flags=0x00000000spec resource 0x7f140029 com.android.tv.settings:xml/system_alert_window: flags=0x00000000spec resource 0x7f14002a com.android.tv.settings:xml/timezones: flags=0x00000000spec resource 0x7f14002b com.android.tv.settings:xml/tts_engine_settings: flags=0x00000000spec resource 0x7f14002c com.android.tv.settings:xml/tts_settings: flags=0x00000000spec resource 0x7f14002d com.android.tv.settings:xml/wifi_details: flags=0x00000000spec resource 0x7f14002e com.android.tv.settings:xml/write_settings: flags=0x00000000config (default):resource 0x7f140000 com.android.tv.settings:xml/about_legal: t=0x03 d=0x000006c2 (s=0x0008 r=0x00)resource 0x7f140001 com.android.tv.settings:xml/accessibility: t=0x03 d=0x000006c3 (s=0x0008 r=0x00)resource 0x7f140002 com.android.tv.settings:xml/accessibility_shortcut: t=0x03 d=0x000006c4 (s=0x0008 r=0x00)resource 0x7f140003 com.android.tv.settings:xml/accessibility_shortcut_service: t=0x03 d=0x000006c5 (s=0x0008 r=0x00)

aapt dump configurations

执行 aapt dump configurations out/target/product/<product_name>/system/priv-app/TvSettings/TvSettings.apk

运行结果,

h720dp
sw360dp
sw600dp
sw720dp
watch
night
large
xlarge
ldrtl
port
land
hdpi
xhdpi
ldrtl-xhdpi
xxxhdpi
anydpi
nodpi
zh-rCN

aapt dump xmltree

执行 aapt dump xmltree out/target/product/<product_name>/system/priv-app/TvSettings/TvSettings.apk AndroidManifest.xml

得到 AndroidManifest.xml 文件中的信息

部分运行结果,

N: android=http://schemas.android.com/apk/res/androidE: manifest (line=2)A: android:sharedUserId(0x0101000b)="android.uid.system" (Raw: "android.uid.system")A: android:versionCode(0x0101021b)=(type 0x10)0x1A: android:versionName(0x0101021c)="1.0" (Raw: "1.0")A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1dA: android:compileSdkVersionCodename(0x01010573)="10" (Raw: "10")A: package="com.android.tv.settings" (Raw: "com.android.tv.settings")A: platformBuildVersionCode=(type 0x10)0x1dA: platformBuildVersionName=(type 0x10)0xaE: uses-sdk (line=9)A: android:minSdkVersion(0x0101020c)=(type 0x10)0x1dA: android:targetSdkVersion(0x01010270)=(type 0x10)0x1dE: uses-permission (line=13)A: android:name(0x01010003)="android.permission.ACCESS_WIFI_STATE" (Raw: "android.permission.ACCESS_WIFI_STATE")
...E: application (line=50)A: android:theme(0x01010000)=@0x7f1101bfA: android:label(0x01010001)=@0x7f10031dA: android:icon(0x01010002)=@0x7f0801b1A: android:allowClearUserData(0x01010005)=(type 0x12)0x0A: android:supportsRtl(0x010103af)=(type 0x12)0xffffffffA: android:banner(0x010103f2)=@0x7f0800b9A: android:extractNativeLibs(0x010104ea)=(type 0x12)0x0A: android:usesCleartextTraffic(0x010104ec)=(type 0x12)0xffffffffA: android:defaultToDeviceProtectedStorage(0x01010504)=(type 0x12)0xffffffffA: android:directBootAware(0x01010505)=(type 0x12)0xffffffffA: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")A: android:usesNonSdkApi(0x0101058e)=(type 0x12)0xffffffffE: activity (line=63)A: android:theme(0x01010000)=@0x7f1101c1A: android:label(0x01010001)=@0x7f10031dA: android:name(0x01010003)="com.android.tv.settings.MainSettings" (Raw: "com.android.tv.settings.MainSettings")A: android:excludeFromRecents(0x01010017)=(type 0x12)0xffffffffA: android:configChanges(0x0101001f)=(type 0x11)0x70E: intent-filter (line=69)E: action (line=70)A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")E: action (line=71)A: android:name(0x01010003)="android.settings.SETTINGS" (Raw: "android.settings.SETTINGS")...E: provider (line=823)A: android:name(0x01010003)="androidx.lifecycle.ProcessLifecycleOwnerInitializer" (Raw: "androidx.lifecycle.ProcessLifecycleOwnerInitializer")A: android:exported(0x01010010)=(type 0x12)0x0A: android:multiprocess(0x01010013)=(type 0x12)0xffffffffA: android:authorities(0x01010018)="com.android.tv.settings.lifecycle-tests" (Raw: "com.android.tv.settings.lifecycle-tests")E: receiver (line=830)A: android:name(0x01010003)="androidx.remotecallback.ProviderRelayReceiver" (Raw: "androidx.remotecallback.ProviderRelayReceiver")E: activity (line=832)A: android:name(0x01010003)="androidx.slice.compat.SlicePermissionActivity" (Raw: "androidx.slice.compat.SlicePermissionActivity")A: android:excludeFromRecents(0x01010017)=(type 0x12)0xffffffff

aapt dump xmlstrings

执行 aapt dump xmlstrings out/target/product//<product_name>/system/priv-app/TvSettings/TvSettings.apk AndroidManifest.xml

部分运行结果,

String #0: theme
String #1: label
String #2: icon
String #3: name
String #4: allowClearUserData
String #5: permission
String #6: sharedUserId
String #7: enabled
String #8: exported
String #9: process
String #10: taskAffinity
String #11: multiprocess
String #12: clearTaskOnLaunch
String #13: excludeFromRecents
String #14: authorities
String #15: grantUriPermissions
String #16: priority
String #17: launchMode
String #18: configChanges
String #19: resource
String #20: scheme...String #217: com.google.android.assistant.READ_HOTWORD_STATE
String #218: com.google.android.assistant.WRITE_HOTWORD_STATE
String #219: com.google.android.intent.action.CONNECT_INPUT
String #220: com.google.android.pano.action.SLEEP
String #221: com.google.android.tungsten.setupwraith.TV_SETTINGS_POST_SETUP
String #222: data
String #223: http://schemas.android.com/apk/res/android
String #224: intent-filter
String #225: manifest
String #226: meta-data
String #227: package
String #228: platformBuildVersionCode
String #229: platformBuildVersionName
String #230: provider
String #231: receiver
String #232: service
String #233: uses-permission
String #234: uses-sdk

相关文章:

  • Hadoop YARN组件
  • 初学Flink 学后总结
  • WordPress采集器自动采集发布的工具
  • 鸿蒙开发:Stage模型开发-应用/组件级配置以及UIAbility组件初步使用【鸿蒙专栏-20】
  • VPS服务器”性价比之王”系列:RackNerd
  • el-table 删除某行数据时 删除语句包含行号/序号
  • 12.04
  • 破解app思路
  • VSCode Vue 开发环境配置
  • MYSQL练题笔记-高级查询和连接-简单题3题
  • 深入了解Java Duration类,对时间的精细操作
  • 初试占比7成!只考一门数据结构+学硕复录比1:1的神仙学校,大连交通大学考情分析
  • 【C语言】扫雷小游戏初学者版
  • 实体类转SQL工具类
  • 【小程序】02-项目的基本组成
  • .pyc 想到的一些问题
  • 03Go 类型总结
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • HTTP 简介
  • interface和setter,getter
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java方法详解
  • linux学习笔记
  • Node项目之评分系统(二)- 数据库设计
  • Python - 闭包Closure
  • Terraform入门 - 1. 安装Terraform
  • 从tcpdump抓包看TCP/IP协议
  • 分类模型——Logistics Regression
  • 京东美团研发面经
  • 聚类分析——Kmeans
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前嗅ForeSpider中数据浏览界面介绍
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 悄悄地说一个bug
  • 巧用 TypeScript (一)
  • 日剧·日综资源集合(建议收藏)
  • 如何利用MongoDB打造TOP榜小程序
  • 实现菜单下拉伸展折叠效果demo
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 再次简单明了总结flex布局,一看就懂...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # C++之functional库用法整理
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (9)目标检测_SSD的原理
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (一)kafka实战——kafka源码编译启动
  • (转)大型网站架构演变和知识体系
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .gitignore文件_Git:.gitignore
  • .NET 常见的偏门问题