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