Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

am
Менеджер активностей (Activity manager)

Тип файла: приложение
  Eng  

Команды Activity manager


help вывод справки

1. Запуск активити

start-activity
[-D]
[-N]
[-W]
[-P <FILE>]
[--start-profiler <FILE>]
[--sampling INTERVAL]
[--streaming]
[-R COUNT]
[-S]
[--track-allocation]
[--user <USER_ID> | current]
<INTENT>

  • -D: включить отладку

  • -N: включить встроенную отладку

  • -W: дождаться завершения запуска

  • --start-profiler <ФАЙЛ>: запустить профилировщик и отправить
    результаты в <ФАЙЛ>

  • --sampling INTERVAL: использовать выборочное профилирование
    с INTERVAL микросекундами между образцами
    (используйте с --start-profiler)

  • --streaming: направить вывод профилирования в указанный файл
    (используйте с --start-profiler)

  • -P <FILE>: как указано выше, но профилирование останавливается,
    когда приложение переходит в режим ожидания

  • --attach-agent <агент>: присоединить данный агент перед привязкой

  • --attach-agent-bind <agent>: присоединить данный агент во время привязки

  • -R: повторить запуск активности <COUNT> раз.
    Перед каждым повторением верхняя активность будет завершена.

  • -S: принудительно остановить целевое приложение перед запуском действия

  • --track-allocation: включить отслеживание распределения объектов

  • --user <USER_ID> | current: указать, от имени какого пользователя работать;
    если не указан, то запустить от имени текущего пользователя

  • --windowingMode <WINDOWING_MODE>: оконный режим для запуска активити

  • --activityType <ACTIVITY_TYPE>: тип действия,
    в качестве которого должно запускаться активити

  • --display <DISPLAY_ID>: дисплей для запуска действия

    2. Запуск службы

    start-service [--user <USER_ID> | current] <INTENT>

  • --user <USER_ID> | current:
    Укажите, от имени какого пользователя запускать;
    если не указано, запустите от имени текущего пользователя.

    3. Запустить службу переднего плана.

    start-foreground-service [--user <USER_ID> | current] <INTENT>

  • --user <USER_ID> | current: укажите, от имени какого пользователя
    работать; если не указан, запустите от имени текущего пользователя.

    4. Остановить службу

    stop-service [--user <USER_ID> | current] <INTENT>

  • --user <USER_ID> | current: укажите, от имени какого пользователя
    работать; если не указан запустить от имени текущего пользователя.

    5. Отправьте широковещательный интент

    broadcast [--user <USER_ID> | all | current]
    [--receiver-permission <РАЗРЕШЕНИЕ>]
    [--разрешить запуск фоновой активности]
    [--async] <INTENT>

  • --user <USER_ID> | all | current: укажите, какому пользователю отправить;
    если не указано, то отправить всем пользователям.

  • --receiver-permission <РАЗРЕШЕНИЕ>: Требовать, чтобы получатель
    удерживал разрешение.

  • --allow-background-activity-starts: получатель может запускать действия
    даже если на фоне.

  • --async: отправить, не дожидаясь завершения получателя.

    6. Запустите инструментарий. Обычно эта цель <COMPONENT> находится в
    форме <TEST_PACKAGE>/<RUNNER_CLASS> или только <TEST_PACKAGE>, если есть
    это только один прибор.


    instrument[-r] [-e <ИМЯ> <ЗНАЧЕНИЕ>] [-p <ФАЙЛ>] [-w]
    [--пользователь <USER_ID> | current]
    [--no-hidden-api-checks [--no-test-api-access]]
    [--нет-изолированного-хранилища]
    [--no-window-animation] [--abi <ABI>] <КОМПОНЕНТ>

  • -r: вывести необработанные результаты
    (иначе декодировать REPORT_KEY_STREAMRESULT).
    Использовать с [-e perf true] для создания необработанных выходных
    данных для повышения производительности измерения.

  • -e <ИМЯ> <ЗНАЧЕНИЕ>: установить для аргумента <ИМЯ> значение <ЗНАЧЕНИЕ>.
    Для тестировщиков
    общая форма: [-e <testrunner_flag> <value>[,<value>...]].

  • -p <ФАЙЛ>: записать данные профилирования в <ФАЙЛ>

  • -m: Записать вывод как protobuf в stdout (машиночитаемый)

  • -f <Необязательный ПУТЬ/ДО/ФАЙЛ>:
    Запишите вывод как protobuf в файл (машиночитаемый).
    Если путь не указан, каталог и имя файла по умолчанию
    будет использован:
    /sdcard/instrument-logs/log-yyyyMMdd-hhmmss-SSS.instrumentation_data_proto

  • -w: дождаться завершения инструментирования перед возвратом.
    Требуется для тестировщиков.

  • --user <USER_ID> | current: Укажите запуски пользовательского инструментария;
    current пользователь, если не указан.

  • --no-hidden-api-checks: отключить ограничения на использование скрытого API.

  • --no-test-api-access: не разрешать доступ к тестовым API, если они скрыты
    Проверка API включена.

  • --no-isolated-storage: не использовать изолированную программную среду
    хранения и смонтировать полное внешнее хранилище

  • --no-window-animation: отключить анимацию окон во время работы.

  • --abi <ABI>: запустить инструментированный процесс с выбранным ABI.
    Это предполагает, что процесс поддерживает выбранный ABI.

    7. Отслеживание транзакций IPC

    trace-ipc [start|stop] [--dump-file <FILE>]
    start: начать отслеживание транзакций IPC.
    stop: прекратить отслеживание транзакций IPC и вывести результаты в файл

  • --dump-file <ФАЙЛ>: укажите файл, в который должна быть
    сохранена трассировка

    8. Запустите профайлер процесса.
    Данный аргумент <PROCESS> может быть либо именем процесса, либо pid.

    profile start [--user <USER_ID> current]
    [--ИНТЕРВАЛ выборки | --streaming] <ПРОЦЕСС> <ФАЙЛ>
    Параметры:

  • --user <USER_ID> | current: при указании имени процесса
    указать пользователя процесса для профиля; использует текущего
    пользователя, если не указан

  • --sampling INTERVAL: использовать выборочное профилирование с
    INTERVAL микросекундами между образцами

  • --streaming: поток вывода профилирования в указанный файл.

    9. Остановить профайлер процесса.
    Данный аргумент <PROCESS> может быть либо именем процесса, либо pid.


    profile stop [--user <USER_ID> current] <PROCESS>
    Параметры:

  • --user <USER_ID> | current: при указании имени процесса
    указать пользователя процесса для профиля; использует
    текущего пользователя, если не указан

    10. Выгрузить кучу процесса.
    Данный аргумент <PROCESS> может быть либо именем процесса, либо pid.


    dumpheap [--user <USER_ID> current] [-n] [-g] <ПРОЦЕСС> <ФАЙЛ>
    Параметры:

  • -n: создать дамп собственной кучи вместо управляемой кучи

  • -g: принудительно GC перед сбросом кучи

  • --user <USER_ID> | current: при указании имени процесса
    указать пользователя процесса для дампа;
    использует текущего пользователя, если он не указан

    11. Установите приложение <PACKAGE> для отладки


    set-debug-app [-w] [--persistent] <ПАКЕТ>
    Параметры:

  • -w: ждать отладчика при запуске приложения

  • --persistent: сохранить это значение

    12. Очистите установленное ранее приложение-отладку.

    clear-debug-app

    13. Начать мониторинг размера pss <PROCESS>, если он равен или
    выше <HEAP-LIMIT>, создается дамп кучи,
    о котором пользователь может сообщить.


    set-watch-heap <PROCESS> <MEM-LIMIT>

    14. Очистить установленную ранее кучу часов.

    clear-watch-heap

    15. Очистить информацию о выходе процесса для данного пакета

    clear-exit-info [--user <USER_ID> | all | данный пакет]

    16. Запросить генерацию отчета об ошибке; запустит уведомление
    когда это будет сделано, чтобы выбрать, куда оно должно быть доставлено.

    bug-report [--прогресс | --телефония]
    Параметры:

  • --progress: сразу же запускает уведомление, чтобы показать его прогресс.

  • --telephony: дамп только разделов телефонии.

    17. Включить/отключить ограничение скорости для политики отсрочки уведомлений FGS

    fgs-notification-rate-limit {включить | запрещать}

    18. Полностью остановить данный пакет приложений.

    force-stop [--user <USER_ID> | all | current] <ПАКЕТ>

    19. Вызвать сбой виртуальной машины в указанном пакете или процессе

    crash [--user <USER_ID>] <PACKAGE|PID>

    20. Завершите все фоновые процессы, связанные с данным приложением.

    kill [--user <USER_ID> | all | current] <ПАКЕТ>

    21. Завершите все процессы, которые можно безопасно убить (кэшированные и т.д.)

    kill all

    22. Если uid данного приложения находится в фоновом режиме и ожидает
    стать бездействующим (не позволяя фоновым службам), сделайте это сейчас


    make-uid-idle [--user <USER_ID> | all | current] <ПАКЕТ>

    23. Начните отслеживать сбои или ошибки ANR.


    monitor [--gdb <порт>]

  • --gdb: запустить gdbserv на указанном порту при сбое/ANR

    24. Начните отслеживать и сообщать об изменениях состояния uid.

    watch-uids [--oom <uid>]

  • --oom: указать uid, для которого следует сообщать подробные сообщения
    об изменениях

    25. Повесьте систему

    hang [--allow-restart]

  • --allow-restart: разрешить сторожевому таймеру выполнять обычный
    перезапуск системы

    26. Перезапустите систему пользовательского пространства.

    restart

    27. Выполните обслуживание на холостом ходу сейчас

    idle-maintenance

    28. Режим совместимости экрана управления <PACKAGE>

    screen-compat [on|off] <ПАКЕТ>

    29. Распечатайте текущую важность <PACKAGE>.

    package-importance <ПАКЕТ>

    30. Распечатайте данную спецификацию Intent как URI.

    to-uri [INTENT]

    31. Выведите данную спецификацию намерения как намерение: URI.

    to-intent-uri [INTENT]

    32. Распечатайте данную спецификацию Intent как android-app: URI.

    to-app-uri [INTENT]

    33. Переключитесь, чтобы поместить USER_ID на передний план, начиная
    выполнение этого пользователя, если он в данный момент остановлен.

    switch-user <USER_ID>

    34. Возвращает идентификатор текущего пользователя переднего плана.

    get-current-user

    35. Запустите USER_ID в фоновом режиме, если он в данный момент остановлен;
    используйте switch-user, если вы хотите запустить пользователя
    на переднем плане.


    start-user [-w] <USER_ID>

  • -w: дождаться завершения start-user и разблокировки пользователя.

    36. Попытаться разблокировать данного пользователя с помощью данного
    токена авторизации.

    unlock-user <USER_ID> [TOKEN_HEX]

    37. Остановить выполнение USER_ID, не позволяя ему выполнять
    какие-либо коды до более позднего явного запуска или
    переключения на него.


    stop-user [-w] [-f] <USER_ID>

  • -w: дождаться завершения работы stop-user.

  • -f: принудительно остановить, даже если есть связанные пользователи,
    которых нельзя остановить.

    38. Возвращает информацию о том, был ли остановлен <USER_ID>.
    @@ is-user-stopped <USER_ID>

    39. Получает текущее состояние данного запущенного пользователя.

    get-started-user-state <USER_ID>


    40. Включите отслеживание ассоциаций.

    track-associations

    41. Отключить и очистить отслеживание ассоциаций.

    untrack-ассоциации

    42. Получает состояние процесса приложения по его <UID>.

    get-uid-state <UID>

    43. Присоедините агента к указанному <ПРОЦЕСС>, который может быть
    либо имя процесса, либо PID.

    attach-agent <ПРОЦЕСС> <ФАЙЛ>

    44. Получите конфигурацию и любые последние конфигурации устройства.

    get-config [--days N] [--device] [--proto] [--display <DISPLAY_ID>]

  • --days: также вернуть последние N дней просмотренных конфигураций.

  • --device: также выводить информацию о глобальной конфигурации устройства.

  • --proto: вернуть результат как прототип; не включает информацию --days.

  • --display: укажите, для какого дисплея выполнять команду;
    если не указан запустить для отображения по умолчанию.

    45. Возвращает true, если устройство поддерживает многооконный режим.

    supports-multiwindo


    46. Возвращает true, если устройство поддерживает многооконный режим
    с разделенным экраном.

    supports-split-screen-multi-window

    47. Подавляет изменения конфигурации из-за изменения пользователем
    размера действия/задачи.


    suppress-resize-config-changes <true|false>

    48. Устанавливает неактивное состояние приложения

    set-inactive [--user <USER_ID>] <PACKAGE> true|false

    49. Возвращает неактивное состояние приложения

    get-inactive [--user <USER_ID>] <PACKAGE>

    50. Помещает приложение в резервную корзину.

    set-standby-bucket [--user <USER_ID>] <PACKAGE>
    активный|рабочий_набор|частый|редкий|ограниченный

    51. Возвращает резервную корзину приложения

    get-standby-bucket [--user <USER_ID>] <PACKAGE>

    52. Отправить событие обрезки памяти в <PROCESS>
    Может также поставлять необработанный внутренний уровень отделки.


    send-trim-memory
    [--user <USER_ID>]
    <PROCESS>
    [HIDDEN|
    RUNNING_MODERATE|
    BACKGROUND|
    RUNNING_LOW|
    MODERATE|
    RUNNING_CRITICAL|
    COMPLETE]

    53. Работа с дисплеями

    display [COMMAND] [...]: подкоманды
    move-stack <STACK_ID> <DISPLAY_ID>
    Переместить <STACK_ID> с текущего дисплея на <DISPLAY_ID>

    54. Работа со стеками действий

    stack [COMMAND] [...]: sub-commands

    move-task <TASK_ID> <STACK_ID> [true|false]
    Переместить <TASK_ID> из текущего стека наверх (true) или
    вниз (false) <STACK_ID>


    list - список всех стеков активити и их размеров


    info <WINDOWING_MODE> <ACTIVITY_TYPE>
    Отображение информации о стеке активности в <WINDOWING_MODE>
    и <ACTIVITY_TYPE>.


    remove <STACK_ID> Удалить стек <STACK_ID>.

    55. Работа над задачами деятельности


    task [КОМАНДА] [...]: подкоманды

    lock <TASK_ID>
    Переместите <TASK_ID> на передний план и не позволять
    другим задачам выполняться.


    lock stop
    Завершить блокировку текущей задачи.


    resizeable <TASK_ID> [3]
    Изменить режим изменения размера <TASK_ID> на один из следующих:
    0: unresizeable
    1: crop_windows
    2: resizeable
    3: resizeable_and_pipable


    resize <TASK_ID> <LEFT,TOP,RIGHT,BOTTOM>
    Проверяет, находится ли <TASK_ID> в стеке с указанными границами.
    Принудительно изменяет размер задачи и создает стек,
    если ни один существующий стек не имеет указанных границ.


    56. Обновить объекты ApplicationInfo перечисленных пакетов для <USER_ID>
    без перезапуска каких-либо процессов

    update-appinfo <USER_ID> <PACKAGE_NAME> [<PACKAGE_NAME>...]

    57. Записвть все ожидающие состояния в хранилище

    write

    58. Переключение изменений совместимости приложений

    compat [КОМАНДА] [...]: подкоманды

    enable|disable [--no-kill] <CHANGE_ID|CHANGE_NAME> <PACKAGE_NAME>
    Переключает изменение либо по идентификатору,
    либо по имени для <PACKAGE_NAME>.
    Он убивает <PACKAGE_NAME> (чтобы переключатель вступил в силу)
    если не указан --no-kill.

    reset <CHANGE_ID|CHANGE_NAME> <PACKAGE_NAME>
    Переключает изменение либо по идентификатору,
    либо по имени для <PACKAGE_NAME>.
    Он убивает <PACKAGE_NAME> (чтобы переключатель вступил в силу).


    enable-all|disable-all <targetSdkVersion> <PACKAGE_NAME>
    Переключает все изменения, закрытые <targetSdkVersion>.


    reset-all [--no-kill] <ИМЯ ПАКЕТА>
    Удаляет все существующие переопределения для всех изменений для
    <PACKAGE_NAME> (возврат к поведению по умолчанию).
    Он убивает <PACKAGE_NAME> (чтобы переключатель вступил в силу)
    если не указан --no-kill.


    59. Преодолевающий фактор нагрузки на память

    memory-factor [команда] [...]: подкоманды

    set <NORMAL|MODERATE|LOW|CRITICAL>
    Отменяет фактор нагрузки на память.
    Может также предоставить необработанный уровень int


    show Показывает существующий коэффициент нагрузки на память

    reset Удаляет существующее переопределение коэффициента
    нехватки памяти

    60. Переключить политику отсрочки перезапуска службы

    service-restart-backoff <КОМАНДА> [...]: подкоманды

    enable|disable <PACKAGE_NAME>
    Включает/выключает политику отсрочки перезапуска для <PACKAGE_NAME>

    show <PACKAGE_NAME>
    Показывает состояние политики отсрочки перезапуска для <PACKAGE_NAME>

    61. Получите PID изолированных процессов с пакетами в этом <UID>

    get-isolated-pids <UID>


    <INTENT> specifications include these flags and arguments:
    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-i <IDENTIFIER>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-n <COMPONENT_NAME>]
    [-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 "\,")
    [-f <FLAG>]
    [--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] [--activity-match-external]
    [--receiver-registered-only] [--receiver-replace-pending]
    [--receiver-foreground] [--receiver-no-abort]
    [--receiver-include-background]
    [--selector]
    [<URI> | <PACKAGE> | <COMPONENT>]