command line으로 Activity/Service를 시작하고 broadcast를 보내는 방법을 공유하고
자 합니다.
다른 어플에 의존하지 않고 broadcast 및 start명령을 테스트 해보고 싶을 때 사용됩
니다.
Activity를 실행하는 것을 예로 들어 보겠습니다.
adb shell 명령을 이용하여 타겟 시스템의 shell 에 접속하여 # 프롬프트를 띄웁니다
# am start -a android.intent.action.VIEW -d file:///mnt/sdcard/DCIM/Camera/vide o-2010-08-20-08-49-48.mp4 -t video/mp4 -n com.sec.android.app.videoplayer/.act ivity.MoviePlayer
이렇게 action, data, type, component 등을 지정하고 보내서 명령어로 직접 activit y를 띄워 볼수가 있습니다.
(위 동작은 실제 로그 상에는
08-23 12:30:23.462: INFO/ActivityManager(2483): Starting activity: Intent { act =android.intent.action.VIEW dat=file:///mnt/sdcard/DCIM/Camera/video-2010-08-20 -08-49-48.mp4 typ=video/mp4 flg=0x10000000 cmp=com.sec.android.app.videoplayer/ .activity.MoviePlayer } 로 찍히게 됩니다.)
자세한 am의 사용법은 다음과 같습니다.^^
기능test를 위한 Instrumentation 과 profiling도 있네요.
usage: am [subcommand] [options]
start an Activity: am start [-D] [-W] <INTENT>
-D: enable debugging
-W: wait for launch to complete
start a Service: am startservice <INTENT>
send a broadcast Intent: am broadcast <INTENT>
start an Instrumentation: am instrument [flags] <COMPONENT>
-r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
-e <NAME> <VALUE>: set argument <NAME> to <VALUE>
-p <FILE>: write profiling data to <FILE>
-w: wait for instrumentation to finish before returning
start profiling: am profile <PROCESS> start <FILE>
stop profiling: am profile <PROCESS> stop
<INTENT> specifications include these flags:
[-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> ...]
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[-n <COMPONENT>] [-f <FLAGS>]
[--grant-read-uri-permission] [--grant-write-uri-permission]
[--debug-log-resolution]
[--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]
[--receiver-registered-only] [--receiver-replace-pending]
[<URI>]
'IT > 리눅스마스터1급' 카테고리의 다른 글
soap (0) | 2022.05.02 |
---|---|
probe 구조체 platform_driver, platform_device (0) | 2022.05.02 |
i/o 스케줄러 (0) | 2022.04.29 |
프로세스 스케줄링 (0) | 2022.04.28 |
txqueuelen (0) | 2022.04.25 |