Sxq dev (#51)
* Update README.md * Update README.md * 收紧内存 * Create am.md * am --help * Create pm.md * Create aapt.md * Create dumpsys.md * Create uiautomator.md * 查看手机中APK的存放位置 * Update pm.md * 添加目录 * Update pm.md * Update pm.md * Update uiautomator.md * Update dumpsys.mdmaster
parent
bb44b668cd
commit
60833a076a
@ -0,0 +1,187 @@ |
|||||||
|
# aapt 相关命令 |
||||||
|
|
||||||
|
```sh |
||||||
|
Android Asset Packaging Tool |
||||||
|
|
||||||
|
Usage: |
||||||
|
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 are |
||||||
|
supplied with the -M -A -S or raw-files-dir arguments. The -J -P -F and -R |
||||||
|
options 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 folders |
||||||
|
and store the results in the output folder. |
||||||
|
|
||||||
|
aapt s[ingleCrunch] [-v] -i input-file -o outputfile |
||||||
|
Do 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 all |
||||||
|
configurations. The value of the parameter should be a comma |
||||||
|
separated list of configuration values. Locales should be specified |
||||||
|
as either a language or language-region pair. Some examples: |
||||||
|
en |
||||||
|
port,en |
||||||
|
port,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 with |
||||||
|
localization="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 scanned |
||||||
|
and the first match found (left to right) will take precedence. |
||||||
|
-0 specifies an additional extension for which such files will not |
||||||
|
be stored compressed in the .apk. An empty string means to not |
||||||
|
compress any files at all. |
||||||
|
--debug-mode |
||||||
|
inserts android:debuggable="true" in to the application node of the |
||||||
|
manifest, making the application debuggable even on production devices. |
||||||
|
--include-meta-data |
||||||
|
when used with "dump badging" also includes meta-data tags. |
||||||
|
--pseudo-localize |
||||||
|
generate resources for pseudo-locales (en-XA and ar-XB). |
||||||
|
--min-sdk-version |
||||||
|
inserts android:minSdkVersion in to manifest. If the version is 7 or |
||||||
|
higher, the default encoding for resources will be in UTF-8. |
||||||
|
--target-sdk-version |
||||||
|
inserts android:targetSdkVersion in to manifest. |
||||||
|
--max-res-version |
||||||
|
ignores versioned resource directories above the given value. |
||||||
|
--values |
||||||
|
when used with "dump resources" also includes resource values. |
||||||
|
--version-code |
||||||
|
inserts android:versionCode in to manifest. |
||||||
|
--version-name |
||||||
|
inserts android:versionName in to manifest. |
||||||
|
--replace-version |
||||||
|
If --version-code and/or --version-name are specified, these |
||||||
|
values will replace any value already in the manifest. By |
||||||
|
default, nothing is changed if the manifest already defines |
||||||
|
these attributes. |
||||||
|
--custom-package |
||||||
|
generates R.java into a different package. |
||||||
|
--extra-packages |
||||||
|
generate R.java for libraries. Separate libraries with ':'. |
||||||
|
--generate-dependencies |
||||||
|
generate dependency files in the same directories for R.java and resource package |
||||||
|
--auto-add-overlay |
||||||
|
Automatically add resources that are only in overlays. |
||||||
|
--preferred-density |
||||||
|
Specifies a preference for a particular density. Resources that do not |
||||||
|
match this density and have variants that are a closer match are removed. |
||||||
|
--split |
||||||
|
Builds a separate split APK for the configurations listed. This can |
||||||
|
be loaded alongside the base APK at runtime. |
||||||
|
--feature-of |
||||||
|
Builds a split APK that is a feature of the apk specified here. Resources |
||||||
|
in the base APK can be referenced from the the feature APK. |
||||||
|
--feature-after |
||||||
|
An app can have multiple Feature Split APKs which must be totally ordered. |
||||||
|
If --feature-of is specified, this flag specifies which Feature Split APK |
||||||
|
comes before this one. The first Feature Split APK should not define |
||||||
|
anything here. |
||||||
|
--rename-manifest-package |
||||||
|
Rewrite the manifest so that its package name is the package name |
||||||
|
given here. Relative class names (for example .Foo) will be |
||||||
|
changed to absolute names with the old package so that the code |
||||||
|
does not need to change. |
||||||
|
--rename-instrumentation-target-package |
||||||
|
Rewrite the manifest so that all of its instrumentation |
||||||
|
components target the given package. Useful when used in |
||||||
|
conjunction with --rename-manifest-package to fix tests against |
||||||
|
a package that has been renamed. |
||||||
|
--product |
||||||
|
Specifies which variant to choose for strings that have |
||||||
|
product variants |
||||||
|
--utf16 |
||||||
|
changes default encoding for resources to UTF-16. Only useful when API |
||||||
|
level is set to 7 or higher where the default encoding is UTF-8. |
||||||
|
--non-constant-id |
||||||
|
Make the resources ID non constant. This is required to make an R java class |
||||||
|
that does not contain the final value but is used to make reusable compiled |
||||||
|
libraries that need to access resources. |
||||||
|
--shared-lib |
||||||
|
Make a shared library resource package that can be loaded by an application |
||||||
|
at runtime to access the libraries resources. Implies --non-constant-id. |
||||||
|
--app-as-shared-lib |
||||||
|
Make an app resource package that also can be loaded as shared library at runtime. |
||||||
|
Implies --non-constant-id. |
||||||
|
--error-on-failed-insert |
||||||
|
Forces aapt to return an error if it fails to insert values into the manifest |
||||||
|
with --debug-mode, --min-sdk-version, --target-sdk-version --version-code |
||||||
|
and --version-name. |
||||||
|
Insertion typically fails if the manifest already defines the attribute. |
||||||
|
--error-on-missing-config-entry |
||||||
|
Forces aapt to return an error if it fails to find an entry for a configuration. |
||||||
|
--output-text-symbols |
||||||
|
Generates a text file containing the resource symbols of the R class in the |
||||||
|
specified folder. |
||||||
|
--ignore-assets |
||||||
|
Assets to be ignored. Default pattern is: |
||||||
|
!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~ |
||||||
|
--skip-symbols-without-default-localization |
||||||
|
Prevents symbols from being generated for strings that do not have a default |
||||||
|
localization |
||||||
|
--no-version-vectors |
||||||
|
Do not automatically generate versioned copies of vector XML resources. |
||||||
|
--no-version-transitions |
||||||
|
Do not automatically generate versioned copies of transition XML resources. |
||||||
|
--private-symbols |
||||||
|
Java package name to use when generating R.java for private resources. |
||||||
|
``` |
@ -0,0 +1,240 @@ |
|||||||
|
# am 相关命令 |
||||||
|
|
||||||
|
```sh |
||||||
|
usage: am [subcommand] [options] |
||||||
|
usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>] |
||||||
|
[--sampling INTERVAL] [-R COUNT] [-S] [--opengl-trace] |
||||||
|
[--user <USER_ID> | current] <INTENT> |
||||||
|
am startservice [--user <USER_ID> | current] <INTENT> |
||||||
|
am stopservice [--user <USER_ID> | current] <INTENT> |
||||||
|
am force-stop [--user <USER_ID> | all | current] <PACKAGE> |
||||||
|
am kill [--user <USER_ID> | all | current] <PACKAGE> |
||||||
|
am kill-all |
||||||
|
am broadcast [--user <USER_ID> | all | current] <INTENT> |
||||||
|
am instrument [-r] [-e <NAME> <VALUE>] [-p <FILE>] [-w] |
||||||
|
[--user <USER_ID> | current] |
||||||
|
[--no-window-animation] [--abi <ABI>] <COMPONENT> |
||||||
|
am profile start [--user <USER_ID> current] [--sampling INTERVAL] <PROCESS> <FILE> |
||||||
|
am profile stop [--user <USER_ID> current] [<PROCESS>] |
||||||
|
am dumpheap [--user <USER_ID> current] [-n] <PROCESS> <FILE> |
||||||
|
am set-debug-app [-w] [--persistent] <PACKAGE> |
||||||
|
am clear-debug-app |
||||||
|
am set-watch-heap <PROCESS> <MEM-LIMIT> |
||||||
|
am clear-watch-heap |
||||||
|
am monitor [--gdb <port>] |
||||||
|
am hang [--allow-restart] |
||||||
|
am restart |
||||||
|
am idle-maintenance |
||||||
|
am screen-compat [on|off] <PACKAGE> |
||||||
|
am package-importance <PACKAGE> |
||||||
|
am to-uri [INTENT] |
||||||
|
am to-intent-uri [INTENT] |
||||||
|
am to-app-uri [INTENT] |
||||||
|
am switch-user <USER_ID> |
||||||
|
am start-user <USER_ID> |
||||||
|
am stop-user [-w] <USER_ID> |
||||||
|
am stack start <DISPLAY_ID> <INTENT> |
||||||
|
am stack movetask <TASK_ID> <STACK_ID> [true|false] |
||||||
|
am stack resize <STACK_ID> <LEFT,TOP,RIGHT,BOTTOM> |
||||||
|
am stack split <STACK_ID> <v|h> [INTENT] |
||||||
|
am stack list |
||||||
|
am stack info <STACK_ID> |
||||||
|
am task lock <TASK_ID> |
||||||
|
am task lock stop |
||||||
|
am task resizeable <TASK_ID> [true|false] |
||||||
|
am task resize <TASK_ID> <LEFT,TOP,RIGHT,BOTTOM> |
||||||
|
am get-config |
||||||
|
am set-inactive [--user <USER_ID>] <PACKAGE> true|false |
||||||
|
am get-inactive [--user <USER_ID>] <PACKAGE> |
||||||
|
am send-trim-memory [--user <USER_ID>] <PROCESS> |
||||||
|
[HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE] |
||||||
|
|
||||||
|
am start: start an Activity. Options are: |
||||||
|
-D: enable debugging |
||||||
|
-W: wait for launch to complete |
||||||
|
--start-profiler <FILE>: start profiler and send results to <FILE> |
||||||
|
--sampling INTERVAL: use sample profiling with INTERVAL microseconds |
||||||
|
between samples (use with --start-profiler) |
||||||
|
-P <FILE>: like above, but profiling stops when app goes idle |
||||||
|
-R: repeat the activity launch <COUNT> times. Prior to each repeat, |
||||||
|
the top activity will be finished. |
||||||
|
-S: force stop the target app before starting the activity |
||||||
|
--opengl-trace: enable tracing of OpenGL functions |
||||||
|
--user <USER_ID> | current: Specify which user to run as; if not |
||||||
|
specified then run as the current user. |
||||||
|
|
||||||
|
am startservice: start a Service. Options are: |
||||||
|
--user <USER_ID> | current: Specify which user to run as; if not |
||||||
|
specified then run as the current user. |
||||||
|
|
||||||
|
am stopservice: stop a Service. Options are: |
||||||
|
--user <USER_ID> | current: Specify which user to run as; if not |
||||||
|
specified then run as the current user. |
||||||
|
|
||||||
|
am force-stop: force stop everything associated with <PACKAGE>. |
||||||
|
--user <USER_ID> | all | current: Specify user to force stop; |
||||||
|
all users if not specified. |
||||||
|
|
||||||
|
am kill: Kill all processes associated with <PACKAGE>. Only kills. |
||||||
|
processes that are safe to kill -- that is, will not impact the user |
||||||
|
experience. |
||||||
|
--user <USER_ID> | all | current: Specify user whose processes to kill; |
||||||
|
all users if not specified. |
||||||
|
|
||||||
|
am kill-all: Kill all background processes. |
||||||
|
|
||||||
|
am broadcast: send a broadcast Intent. Options are: |
||||||
|
--user <USER_ID> | all | current: Specify which user to send to; if not |
||||||
|
specified then send to all users. |
||||||
|
--receiver-permission <PERMISSION>: Require receiver to hold permission. |
||||||
|
|
||||||
|
am instrument: start an Instrumentation. Typically this target <COMPONENT> |
||||||
|
is the form <TEST_PACKAGE>/<RUNNER_CLASS>. Options are: |
||||||
|
-r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT). Use with |
||||||
|
[-e perf true] to generate raw output for performance measurements. |
||||||
|
-e <NAME> <VALUE>: set argument <NAME> to <VALUE>. For test runners a |
||||||
|
common form is [-e <testrunner_flag> <value>[,<value>...]]. |
||||||
|
-p <FILE>: write profiling data to <FILE> |
||||||
|
-w: wait for instrumentation to finish before returning. Required for |
||||||
|
test runners. |
||||||
|
--user <USER_ID> | current: Specify user instrumentation runs in; |
||||||
|
current user if not specified. |
||||||
|
--no-window-animation: turn off window animations while running. |
||||||
|
--abi <ABI>: Launch the instrumented process with the selected ABI. |
||||||
|
This assumes that the process supports the selected ABI. |
||||||
|
|
||||||
|
am profile: start and stop profiler on a process. The given <PROCESS> argument |
||||||
|
may be either a process name or pid. Options are: |
||||||
|
--user <USER_ID> | current: When supplying a process name, |
||||||
|
specify user of process to profile; uses current user if not specified. |
||||||
|
|
||||||
|
am dumpheap: dump the heap of a process. The given <PROCESS> argument may |
||||||
|
be either a process name or pid. Options are: |
||||||
|
-n: dump native heap instead of managed heap |
||||||
|
--user <USER_ID> | current: When supplying a process name, |
||||||
|
specify user of process to dump; uses current user if not specified. |
||||||
|
|
||||||
|
am set-debug-app: set application <PACKAGE> to debug. Options are: |
||||||
|
-w: wait for debugger when application starts |
||||||
|
--persistent: retain this value |
||||||
|
|
||||||
|
am clear-debug-app: clear the previously set-debug-app. |
||||||
|
|
||||||
|
am set-watch-heap: start monitoring pss size of <PROCESS>, if it is at or |
||||||
|
above <HEAP-LIMIT> then a heap dump is collected for the user to report |
||||||
|
|
||||||
|
am clear-watch-heap: clear the previously set-watch-heap. |
||||||
|
|
||||||
|
am bug-report: request bug report generation; will launch UI |
||||||
|
when done to select where it should be delivered. |
||||||
|
|
||||||
|
am monitor: start monitoring for crashes or ANRs. |
||||||
|
--gdb: start gdbserv on the given port at crash/ANR |
||||||
|
|
||||||
|
am hang: hang the system. |
||||||
|
--allow-restart: allow watchdog to perform normal system restart |
||||||
|
|
||||||
|
am restart: restart the user-space system. |
||||||
|
|
||||||
|
am idle-maintenance: perform idle maintenance now. |
||||||
|
|
||||||
|
am screen-compat: control screen compatibility mode of <PACKAGE>. |
||||||
|
|
||||||
|
am package-importance: print current importance of <PACKAGE>. |
||||||
|
|
||||||
|
am to-uri: print the given Intent specification as a URI. |
||||||
|
|
||||||
|
am to-intent-uri: print the given Intent specification as an intent: URI. |
||||||
|
|
||||||
|
am to-app-uri: print the given Intent specification as an android-app: URI. |
||||||
|
|
||||||
|
am switch-user: switch to put USER_ID in the foreground, starting |
||||||
|
execution of that user if it is currently stopped. |
||||||
|
|
||||||
|
am start-user: start USER_ID in background if it is currently stopped, |
||||||
|
use switch-user if you want to start the user in foreground. |
||||||
|
|
||||||
|
am stop-user: stop execution of USER_ID, not allowing it to run any |
||||||
|
code until a later explicit start or switch to it. |
||||||
|
-w: wait for stop-user to complete. |
||||||
|
|
||||||
|
am stack start: start a new activity on <DISPLAY_ID> using <INTENT>. |
||||||
|
|
||||||
|
am stack movetask: move <TASK_ID> from its current stack to the top (true) or bottom (false) of <STACK_ID>. |
||||||
|
|
||||||
|
am stack resize: change <STACK_ID> size and position to <LEFT,TOP,RIGHT,BOTTOM>. |
||||||
|
|
||||||
|
am stack split: split <STACK_ID> into 2 stacks <v>ertically or <h>orizontally |
||||||
|
starting the new stack with [INTENT] if specified. If [INTENT] isn't |
||||||
|
specified and the current stack has more than one task, then the top task |
||||||
|
of the current task will be moved to the new stack. Command will also force |
||||||
|
all current tasks in both stacks to be resizeable. |
||||||
|
|
||||||
|
am stack list: list all of the activity stacks and their sizes. |
||||||
|
|
||||||
|
am stack info: display the information about activity stack <STACK_ID>. |
||||||
|
|
||||||
|
am task lock: bring <TASK_ID> to the front and don't allow other tasks to run. |
||||||
|
|
||||||
|
am task lock stop: end the current task lock. |
||||||
|
|
||||||
|
am task resizeable: change if <TASK_ID> is resizeable (true) or not (false). |
||||||
|
|
||||||
|
am task resize: makes sure <TASK_ID> is in a stack with the specified bounds. |
||||||
|
Forces the task to be resizeable and creates a stack if no existing stack |
||||||
|
has the specified bounds. |
||||||
|
|
||||||
|
am get-config: retrieve the configuration and any recent configurations |
||||||
|
of the device. |
||||||
|
|
||||||
|
am set-inactive: sets the inactive state of an app. |
||||||
|
|
||||||
|
am get-inactive: returns the inactive state of an app. |
||||||
|
|
||||||
|
am send-trim-memory: Send a memory trim event to a <PROCESS>. |
||||||
|
|
||||||
|
<INTENT> specifications include these flags and arguments: |
||||||
|
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] |
||||||
|
[-c <CATEGORY> [-c <CATEGORY>] ...] |
||||||
|
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] |
||||||
|
[--esn <EXTRA_KEY> ...] |
||||||
|
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] |
||||||
|
[--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] |
||||||
|
[--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...] |
||||||
|
[--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...] |
||||||
|
[--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...] |
||||||
|
[--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>] |
||||||
|
[--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]] |
||||||
|
(mutiple extras passed as Integer[]) |
||||||
|
[--eial <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]] |
||||||
|
(mutiple extras passed as List<Integer>) |
||||||
|
[--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]] |
||||||
|
(mutiple extras passed as Long[]) |
||||||
|
[--elal <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]] |
||||||
|
(mutiple extras passed as List<Long>) |
||||||
|
[--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]] |
||||||
|
(mutiple extras passed as Float[]) |
||||||
|
[--efal <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]] |
||||||
|
(mutiple extras passed as List<Float>) |
||||||
|
[--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]] |
||||||
|
(mutiple extras passed as String[]; to embed a comma into a string, |
||||||
|
escape it using "\,") |
||||||
|
[--esal <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]] |
||||||
|
(mutiple extras passed as List<String>; to embed a comma into a string, |
||||||
|
escape it using "\,") |
||||||
|
[--grant-read-uri-permission] [--grant-write-uri-permission] |
||||||
|
[--grant-persistable-uri-permission] [--grant-prefix-uri-permission] |
||||||
|
[--debug-log-resolution] [--exclude-stopped-packages] |
||||||
|
[--include-stopped-packages] |
||||||
|
[--activity-brought-to-front] [--activity-clear-top] |
||||||
|
[--activity-clear-when-task-reset] [--activity-exclude-from-recents] |
||||||
|
[--activity-launched-from-history] [--activity-multiple-task] |
||||||
|
[--activity-no-animation] [--activity-no-history] |
||||||
|
[--activity-no-user-action] [--activity-previous-is-top] |
||||||
|
[--activity-reorder-to-front] [--activity-reset-task-if-needed] |
||||||
|
[--activity-single-top] [--activity-clear-task] |
||||||
|
[--activity-task-on-home] |
||||||
|
[--receiver-registered-only] [--receiver-replace-pending] |
||||||
|
[--selector] |
||||||
|
[<URI> | <PACKAGE> | <COMPONENT>] |
||||||
|
``` |
@ -0,0 +1,26 @@ |
|||||||
|
# dumpsys 相关命令 |
||||||
|
|
||||||
|
<!-- vim-markdown-toc GFM --> |
||||||
|
* [获取当前Activity](#获取当前activity) |
||||||
|
* [获取当前Window](#获取当前window) |
||||||
|
<!-- vim-markdown-toc --> |
||||||
|
|
||||||
|
|
||||||
|
### 获取当前Activity |
||||||
|
|
||||||
|
Linux: |
||||||
|
```sh |
||||||
|
adb shell dumpsys activity | grep "mFocusedActivity" |
||||||
|
``` |
||||||
|
|
||||||
|
Windows: |
||||||
|
```sh |
||||||
|
adb shell dumpsys activity | findstr "mFocusedActicity" |
||||||
|
``` |
||||||
|
|
||||||
|
### 获取当前Window |
||||||
|
|
||||||
|
```sh |
||||||
|
adb shell dumpsys window w | grep \/ | grep name= |
||||||
|
``` |
||||||
|
|
@ -0,0 +1,160 @@ |
|||||||
|
# pm 相关命令 |
||||||
|
|
||||||
|
|
||||||
|
<!-- vim-markdown-toc GFM --> |
||||||
|
|
||||||
|
* [pm --help](#pm---help) |
||||||
|
* [查看手机中APK的存放位置](#查看手机中apk的存放位置) |
||||||
|
|
||||||
|
<!-- vim-markdown-toc --> |
||||||
|
|
||||||
|
## pm --help |
||||||
|
```sh |
||||||
|
usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER] |
||||||
|
pm list permission-groups |
||||||
|
pm list permissions [-g] [-f] [-d] [-u] [GROUP] |
||||||
|
pm list instrumentation [-f] [TARGET-PACKAGE] |
||||||
|
pm list features |
||||||
|
pm list libraries |
||||||
|
pm list users |
||||||
|
pm path PACKAGE |
||||||
|
pm dump PACKAGE |
||||||
|
pm install [-lrtsfd] [-i PACKAGE] [--user USER_ID] [PATH] |
||||||
|
pm install-create [-lrtsfdp] [-i PACKAGE] [-S BYTES] |
||||||
|
[--install-location 0/1/2] |
||||||
|
[--force-uuid internal|UUID] |
||||||
|
pm install-write [-S BYTES] SESSION_ID SPLIT_NAME [PATH] |
||||||
|
pm install-commit SESSION_ID |
||||||
|
pm install-abandon SESSION_ID |
||||||
|
pm uninstall [-k] [--user USER_ID] PACKAGE |
||||||
|
pm set-installer PACKAGE INSTALLER |
||||||
|
pm move-package PACKAGE [internal|UUID] |
||||||
|
pm move-primary-storage [internal|UUID] |
||||||
|
pm clear [--user USER_ID] PACKAGE |
||||||
|
pm enable [--user USER_ID] PACKAGE_OR_COMPONENT |
||||||
|
pm disable [--user USER_ID] PACKAGE_OR_COMPONENT |
||||||
|
pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT |
||||||
|
pm disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT |
||||||
|
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT |
||||||
|
pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT |
||||||
|
pm grant [--user USER_ID] PACKAGE PERMISSION |
||||||
|
pm revoke [--user USER_ID] PACKAGE PERMISSION |
||||||
|
pm reset-permissions |
||||||
|
pm set-app-link [--user USER_ID] PACKAGE {always|ask|never|undefined} |
||||||
|
pm get-app-link [--user USER_ID] PACKAGE |
||||||
|
pm set-install-location [0/auto] [1/internal] [2/external] |
||||||
|
pm get-install-location |
||||||
|
pm set-permission-enforced PERMISSION [true|false] |
||||||
|
pm trim-caches DESIRED_FREE_SPACE [internal|UUID] |
||||||
|
pm create-user [--profileOf USER_ID] [--managed] USER_NAME |
||||||
|
pm remove-user USER_ID |
||||||
|
pm get-max-users |
||||||
|
|
||||||
|
pm list packages: prints all packages, optionally only |
||||||
|
those whose package name contains the text in FILTER. Options: |
||||||
|
-f: see their associated file. |
||||||
|
-d: filter to only show disbled packages. |
||||||
|
-e: filter to only show enabled packages. |
||||||
|
-s: filter to only show system packages. |
||||||
|
-3: filter to only show third party packages. |
||||||
|
-i: see the installer for the packages. |
||||||
|
-u: also include uninstalled packages. |
||||||
|
|
||||||
|
pm list permission-groups: prints all known permission groups. |
||||||
|
|
||||||
|
pm list permissions: prints all known permissions, optionally only |
||||||
|
those in GROUP. Options: |
||||||
|
-g: organize by group. |
||||||
|
-f: print all information. |
||||||
|
-s: short summary. |
||||||
|
-d: only list dangerous permissions. |
||||||
|
-u: list only the permissions users will see. |
||||||
|
|
||||||
|
pm list instrumentation: use to list all test packages; optionally |
||||||
|
supply <TARGET-PACKAGE> to list the test packages for a particular |
||||||
|
application. Options: |
||||||
|
-f: list the .apk file for the test package. |
||||||
|
|
||||||
|
pm list features: prints all features of the system. |
||||||
|
|
||||||
|
pm list users: prints all users on the system. |
||||||
|
|
||||||
|
pm path: print the path to the .apk of the given PACKAGE. |
||||||
|
|
||||||
|
pm dump: print system state associated with the given PACKAGE. |
||||||
|
|
||||||
|
pm install: install a single legacy package |
||||||
|
pm install-create: create an install session |
||||||
|
-l: forward lock application |
||||||
|
-r: replace existing application |
||||||
|
-t: allow test packages |
||||||
|
-i: specify the installer package name |
||||||
|
-s: install application on sdcard |
||||||
|
-f: install application on internal flash |
||||||
|
-d: allow version code downgrade |
||||||
|
-p: partial application install |
||||||
|
-g: grant all runtime permissions |
||||||
|
-S: size in bytes of entire session |
||||||
|
|
||||||
|
pm install-write: write a package into existing session; path may |
||||||
|
be '-' to read from stdin |
||||||
|
-S: size in bytes of package, required for stdin |
||||||
|
|
||||||
|
pm install-commit: perform install of fully staged session |
||||||
|
pm install-abandon: abandon session |
||||||
|
|
||||||
|
pm set-installer: set installer package name |
||||||
|
|
||||||
|
pm uninstall: removes a package from the system. Options: |
||||||
|
-k: keep the data and cache directories around after package removal. |
||||||
|
|
||||||
|
pm clear: deletes all data associated with a package. |
||||||
|
|
||||||
|
pm enable, disable, disable-user, disable-until-used: these commands |
||||||
|
change the enabled state of a given package or component (written |
||||||
|
as "package/class"). |
||||||
|
|
||||||
|
pm grant, revoke: these commands either grant or revoke permissions |
||||||
|
to apps. The permissions must be declared as used in the app's |
||||||
|
manifest, be runtime permissions (protection level dangerous), |
||||||
|
and the app targeting SDK greater than Lollipop MR1. |
||||||
|
|
||||||
|
pm reset-permissions: revert all runtime permissions to their default state. |
||||||
|
|
||||||
|
pm get-install-location: returns the current install location. |
||||||
|
0 [auto]: Let system decide the best location |
||||||
|
1 [internal]: Install on internal device storage |
||||||
|
2 [external]: Install on external media |
||||||
|
|
||||||
|
pm set-install-location: changes the default install location. |
||||||
|
NOTE: this is only intended for debugging; using this can cause |
||||||
|
applications to break and other undersireable behavior. |
||||||
|
0 [auto]: Let system decide the best location |
||||||
|
1 [internal]: Install on internal device storage |
||||||
|
2 [external]: Install on external media |
||||||
|
|
||||||
|
pm trim-caches: trim cache files to reach the given free space. |
||||||
|
|
||||||
|
pm create-user: create a new user with the given USER_NAME, |
||||||
|
printing the new user identifier of the user. |
||||||
|
|
||||||
|
pm remove-user: remove the user with the given USER_IDENTIFIER, |
||||||
|
deleting all data associated with that user |
||||||
|
``` |
||||||
|
|
||||||
|
## 查看手机中APK的存放位置 |
||||||
|
```sh |
||||||
|
adb shell pm list packages -f |
||||||
|
``` |
||||||
|
|
||||||
|
示例: |
||||||
|
```sh |
||||||
|
adb shell pm list packages -f | grep vivo |
||||||
|
|
||||||
|
output: |
||||||
|
package:/system/app/BBKWeatherProvider/BBKWeatherProvider.apk=com.vivo.weather.provider |
||||||
|
package:/system/app/VivoSmartMultiWindow/VivoSmartMultiWindow.apk=com.vivo.smartmultiwindow |
||||||
|
package:/system/app/CoffeeTime/CoffeeTime.apk=com.vivo.livewallpaper.coffeetime |
||||||
|
package:/system/app/SetupWizard/SetupWizard.apk=com.vivo.setupwizard |
||||||
|
... |
||||||
|
``` |
@ -0,0 +1,11 @@ |
|||||||
|
# uiautomator 相关命令 |
||||||
|
|
||||||
|
<!-- vim-markdown-toc GFM --> |
||||||
|
* [获取当前页面布局](#获取当前页面布局) |
||||||
|
<!-- vim-markdown-toc --> |
||||||
|
|
||||||
|
|
||||||
|
### 获取当前页面布局 |
||||||
|
```sh |
||||||
|
adb shell uiautomator dump /data/local/tmp/uidump.xml && adb pull /data/local/tmp/uidump.xml uidump.xml |
||||||
|
``` |
Loading…
Reference in new issue