monkeyrunner를 실행하는 워크스테이션이 액세스할 수 있는 기기나 에뮬레이터를 나타내는 monkeyrunner 클래스입니다.
이 클래스는 Android 기기나 에뮬레이터를 제어하는 데 사용됩니다. 메서드는 UI 이벤트를 전송하고 정보를 검색하며 애플리케이션을 설치 및 삭제, 실행합니다.
    일반적으로 MonkeyDevice 인스턴스를 생성할 필요는 없습니다. 대신 
MonkeyRunner.waitForConnection()을 사용하여 기기나 에뮬레이터 연결에서 새로운 객체를 생성합니다. 예를 들어 다음을 사용하는 대신
newdevice = MonkeyDevice()
다음을 사용합니다.
newdevice = MonkeyRunner.waitForConnection()
요약
| 상수 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| string | DOWN | press() 또는 touch()
                의 type 인수와 함께 사용하여 DOWN 이벤트를 전송합니다.
                 | 
        |||||||||
| string | UP | press() 또는 touch()
                의 type 인수와 함께 사용하여 UP 이벤트를 전송합니다.
                 | 
        |||||||||
| string | DOWN_AND_UP | press() 또는 touch()
                의 type 인수와 함께 사용하여 DOWN 이벤트를 전송한 직후 UP 이벤트를 전송합니다.
                 | 
        |||||||||
| 메서드 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
             인텐트를 애플리케이션에서 가져오는 것처럼 기기에 브로드캐스트합니다. 
         | 
    |||||||||||
| 
             이 기기의 화면에서 드래그 동작(터치, 길게 누르기, 빠른 동작)을 시뮬레이션합니다. 
         | 
    |||||||||||
| 
             | 
        
             
                시스템 환경 변수의 이름이 주어지면 이 기기의 값을 반환합니다.
                사용할 수 있는 변수 이름은 이 메서드의 상세 설명에 나열되어 있습니다.
             
         | 
    ||||||||||
| 
             | 
        
             
.                
        adb shell getprop <key>. This is provided for use
                by platform developers.
            와 동일한 API | 
    ||||||||||
| 
             
                packageFile에 포함된 Android 애플리케이션이나 테스트 패키지를 이 기기에 설치합니다. 애플리케이션이나 테스트 패키지가 이미 설치되어 있으면 교체됩니다.
             
         | 
    |||||||||||
| 
             | 
        
             
                Android 계측에서 지정된 구성요소를 실행하고 실행 중인 구성요소에 따라 정확한 형식이 지정된 사전에 결과를 반환합니다. 구성요소는 이미 이 기기에 존재해야 합니다.
             
         | 
    ||||||||||
| 
             유형별로 지정된 키 이벤트를 키 코드로 지정된 키로 전송합니다. 
         | 
    |||||||||||
| 
             
                이 기기를 bootloadType에서 지정한 부트로더로 재부팅합니다.
             
         | 
    |||||||||||
| 
             데이터 및 캐시를 포함하여 이 기기에서 지정된 패키지를 삭제합니다. 
         | 
    |||||||||||
| 
             | 
        
            adb 셸 명령어를 실행하고 결과를 반환합니다(있는 경우).
             | 
    ||||||||||
| 
             제공된 인수로 구성된 인텐트를 전송함으로써 이 기기에서 활동을 시작합니다. 
         | 
    |||||||||||
            
                
                        MonkeyImage
                    
                
             | 
        
             기기의 전체화면 버퍼를 캡처하여 현재 디스플레이의 화면 캡처를 포함하는  
        
                
                        MonkeyImage
                
                 객체를 생성합니다. | 
    ||||||||||
| 
             유형별로 지정된 터치 이벤트를 x 및 y로 지정된 화면 위치로 전송합니다. 
         | 
    |||||||||||
| 
             
                메시지에 포함된 문자를 기기의 키보드에서 입력한 것처럼 기기로 전송합니다. 이는 키 이벤트 유형  
        DOWN_AND_UP을 사용하여 message에서 각 키 코드의 press()를 호출하는 것과 같습니다.
             | 
    |||||||||||
| 
             이 기기 화면의 절전 모드를 해제합니다. 
         | 
    |||||||||||
상수
string DOWN_AND_UP
공개 메서드
void broadcastIntent ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
            인텐트를 애플리케이션에서 가져오는 것처럼 기기에 브로드캐스트합니다. 인수에 관한 자세한 내용은 Intent를 참조하세요.
        
인수
| uri | 
                인텐트의 URI입니다
                (Intent.setData() 참조).
             | 
        
|---|---|
| action | 인텐트의 작업입니다(Intent.setAction() 참조). | 
        
| data | 이 인텐트의 데이터 URI입니다(Intent.setData() 참조). | 
        
| mimetype | 인텐트의 MIME 유형입니다(Intent.setType() 참조). | 
        
| categories | 인텐트의 카테고리를 정의하는 문자열을 포함한 iterable 데이터 구조입니다(Intent.addCategory() 참조). | 
        
| extras | 인텐트의 추가 데이터 사전입니다(Intent.putExtra() 참조).각 사전 항목의 키는 string이 되어야 합니다. 항목값은 간단하거나 구조화된 데이터 유형일 수 있습니다.  | 
        
| component | 이 인텐트의 구성요소입니다(ComponentName 참조). 이 인수를 사용하면 특정 Android 패키지 내의 특정 클래스로 인텐트를 보냅니다. | 
        
| flags | 인텐트 처리 방법을 제어하는 플래그가 포함된 iterable 데이터 구조입니다(Intent.setFlags() 참조). | 
        
void drag ( tuple start, tuple end, float duration, integer steps)
이 기기의 화면에서 드래그 동작(터치, 길게 누르기, 빠른 동작)을 시뮬레이션합니다.
인수
| start | x 및 y가 integer인 tuple(x, y) 형식 드래그 동작의 시작 지점입니다. | 
|---|---|
| end | x 및 y가 integer인 tuple(x, y) 형식 드래그 동작의 종료 지점입니다. | 
| duration | 드래그 동작 지속 시간(초)입니다. 기본값은 1.0초입니다. | 
| 단계 | 지점을 보간할 때 이행할 단계 수입니다. 기본값은 10입니다. | 
object getProperty (string key)
시스템 환경 변수의 이름이 주어지면 이 기기의 값을 반환합니다.
인수
| 키 | 시스템 환경 변수의 이름입니다. 사용할 수 있는 변수 이름은 이 항목의 끝에 있는 표 1. 속성 변수 이름에 나열되어 있습니다. | 
|---|
반환 값
- 변수값입니다. 데이터 형식은 요청된 변수에 따라 다릅니다.
 
object getSystemProperty (string key)
            getProperty()의 동의어입니다.
        
인수
| 키 | 시스템 환경 변수의 이름입니다. 사용할 수 있는 변수 이름은 표 1. 속성 변수 이름에 나열되어 있습니다. | 
|---|
반환 값
- 변수값입니다. 데이터 형식은 요청된 변수에 따라 다릅니다.
 
void installPackage (string path)
packageFile에 포함된 Android 애플리케이션이나 테스트 패키지를 이 기기에 설치합니다. 애플리케이션이나 테스트 패키지가 이미 설치되어 있으면 교체됩니다.
인수
| path | 
            설치할 .apk 파일의 정규화된 경로 및 파일 이름입니다.
           | 
        
|---|
dictionary instrument ( string className, dictionary args)
Android 계측에서 지정된 구성요소를 실행하고 실행 중인 구성요소에 따라 정확한 형식이 지정된 사전에 결과를 반환합니다. 구성요소는 이미 이 기기에 존재해야 합니다.
이 메서드를 사용하여 Android의 테스트 사례 클래스 중 하나를 사용하는 테스트 사례를 시작하세요. Android 테스트 프레임워크를 사용한 단위 테스트에 관한 자세한 내용은 테스트 기본 요소를 참조하세요.
인수
| className | 
            이 기기에 이미 설치된 Android 구성요소의 이름(표준 형식 packagename/classname)으로 packagename은 이 기기에 있는 .apk 파일의 Android 패키지 이름이고 classname은 같은 파일에 있는 Android 구성요소(활동 또는 ContentProvider, 서비스, BroadcastReceiver)의 클래스 이름입니다. packagename과 classname은 모두 정규화되어야 합니다. 자세한 내용은 ComponentName를 참조하세요.
           | 
        
|---|---|
| 인수 | 플래그와 그 값을 포함하는 사전입니다. 이러한 항목은 구성요소가 시작될 때 그 구성요소에 전달됩니다. 플래그가 값을 가지지 않으면 사전값을 빈 문자열로 설정하세요. | 
반환 값
- 
                
구성요소의 출력을 포함하는 사전입니다. 사전의 콘텐츠는 구성요소 자체로 정의됩니다.
componentName 인수에서 클래스 이름으로
InstrumentationTestRunner를 사용하면 결과 사전에 단일 키 '스트림'이 포함됩니다. '스트림' 값은InstrumentationTestRunner가 명령줄에서 실행된 것처럼 테스트 출력을 포함하는 string입니다. 이 출력의 형식은 다른 IDE에서 테스트에 설명되어 있습니다. 
void press (string name, integer type)
type으로 지정된 키 이벤트를 keycode로 지정된 키로 전송합니다.
인수
| 이름 | 
            전송할 키 코드 이름입니다. 키 코드 이름 목록은 KeyEvent를 참조하세요. 키 코드의 정숫값이 아닌 키 코드 이름을 사용하세요.
           | 
        
|---|---|
| 유형 | 
            전송할 키 이벤트의 유형입니다. 허용되는 값은 
            DOWN, UP 및 DOWN_AND_UP입니다.
           | 
        
void reboot (string bootloadType)
                이 기기를 bootloadType에서 지정한 부트로더로 재부팅합니다.
        
인수
| into | 재부팅할 부트로더 유형입니다. 허용 값은 'bootloader', 'recovery' 또는 'None'입니다. | 
|---|
void removePackage (string package)
데이터 및 캐시를 포함하여 이 기기에서 지정된 패키지를 삭제합니다.
인수
| package | 
            이 기기에 있는 .apk 파일의 Android 패키지 이름입니다.
           | 
      
|---|
object shell (string cmd)
            adb 셸 명령어를 실행하고 결과를 반환합니다(있는 경우).
        
인수
| cmd | 
            adb 셸에서 실행할 명령어입니다. 명령어의 형식은 Android 디버그 브리지 항목에 설명되어 있습니다.
           | 
        
|---|
반환 값
- 명령어의 결과입니다(있는 경우). 결과 형식은 명령어에 따라 결정됩니다.
 
void startActivity ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
제공된 인수로 구성된 인텐트를 전송함으로써 이 기기에서 활동을 시작합니다.
인수
| uri | 
            인텐트의 URI입니다
            (Intent.setData() 참조).
           | 
        
|---|---|
| action | 인텐트의 작업입니다(Intent.setAction() 참조). | 
        
| data | 이 인텐트의 데이터 URI입니다(Intent.setData() 참조). | 
        
| mimetype | 인텐트의 MIME 유형입니다(Intent.setType() 참조). | 
        
| categories | 이 인텐트의 카테고리를 정의하는 문자열을 포함한 iterable 데이터 구조입니다(Intent.addCategory() 참조). | 
        
| extras | 인텐트의 추가 데이터 사전입니다(Intent.putExtra() 참조).각 사전 항목의 키는 string이 되어야 합니다. 항목값은 간단하거나 구조화된 데이터 유형일 수 있습니다.  | 
        
| component | 이 인텐트의 구성요소입니다(ComponentName 참조). 이 인수를 사용하면 특정 Android 패키지 내의 특정 클래스로 인텐트를 보냅니다. | 
        
| flags | 인텐트 처리 방법을 제어하는 플래그가 포함된 iterable 데이터 구조입니다(Intent.setFlags() 참조). | 
        
      
        
            
                MonkeyImage
            
        
      
      takeSnapshot
      
      ()
      
    
  기기의 전체화면 버퍼를 캡처하여 현재 디스플레이의 화면 캡처를 생성합니다.
반환 값
- 현재 디스플레이 이미지를 포함하는 MonkeyImage 객체입니다.
 
void touch ( integer x, integer y, string type)
유형별로 지정된 터치 이벤트를 x 및 y로 지정된 화면 위치로 전송합니다.
인수
| x | 실제 기기 픽셀에서 터치의 수평 위치로 현재 방향에서 화면 왼쪽부터 시작합니다. | 
|---|---|
| y | 실제 기기 픽셀에서 터치의 수직 위치로 현재 방향에서 화면 위부터 시작합니다. | 
| type | 
                전송할 키 이벤트의 유형입니다. 허용되는 값은 
                DOWN, UP 및 DOWN_AND_UP입니다.
             | 
        
void type (string message)
            메시지에 포함된 문자를 기기의 키보드에서 입력한 것처럼 기기로 전송합니다. 이것은 키 이벤트 유형 DOWN_AND_UP을 사용하여 message에서 각 키 코드의 press()를 호출하는 것과 같습니다.
        
인수
| 메시지 | 전송할 문자가 포함된 문자열입니다. | 
|---|
void wake ()
이 기기 화면의 절전 모드를 해제합니다.
부록
표1.getProperty() 및 getSystemProperty()와 함께 사용되는 속성 변수 이름.
| 속성 그룹 | 속성 | 설명 | 메모 | 
|---|---|---|---|
build | 
            board | 
            기기 시스템 보드의 코드명입니다. | Build 보기 | 
        
brand | 
            OS가 맞춤설정된 이동통신사 또는 제공업체입니다. | ||
device | 
            기기 디자인 이름입니다. | ||
fingerprint | 
            현재 실행 중인 빌드의 고유 식별자입니다. | ||
host | 
            |||
ID | 
            변경 목록 번호 또는 라벨입니다. | ||
model | 
            기기의 최종 사용자가 볼 수 있는 이름입니다. | ||
product | 
            전체 제품 이름입니다. | ||
tags | 
            빌드를 설명하는 쉼표로 구분된 태그입니다(예: 'unsigned' 및 'debug'). | ||
type | 
            빌드 유형입니다(예: 'user' 또는 'eng'). | ||
user | 
            |||
CPU_ABI | 
            CPU 유형과 ABI 규칙의 형식으로 된 네이티브 코드 명령 집합의 이름입니다. | ||
manufacturer | 
            제품/하드웨어 제조업체입니다. | ||
version.incremental | 
            소스 제어 시스템이 이 버전의 소프트웨어를 나타내는 데 사용하는 내부 코드입니다. | ||
version.release | 
            사용자가 볼 수 있는 이 버전의 소프트웨어 이름입니다. | ||
version.sdk | 
            이 OS 버전과 연결된 사용자가 볼 수 있는 SDK 버전입니다. | ||
version.codename | 
            현재 개발 코드명 또는 이 소프트웨어 버전이 출시되었다면 'REL'입니다. | ||
display | 
            width | 
            기기의 디스플레이 너비(픽셀)입니다. | 자세한 내용은 DisplayMetrics을 참조하세요. | 
        
height | 
            기기의 디스플레이 높이(픽셀)입니다. | ||
density | 
            
                디스플레이의 논리적 밀도입니다. 이는 DIP(밀도 독립형 픽셀) 단위로 기기의 해상도를 조정하는 요소입니다. 1 DIP가 인치당 160픽셀 디스플레이의 1픽셀과 같도록 DIP를 조정합니다. 예를 들어 160dpi 화면에서는 밀도 = 1.0이고 120dpi 화면에서는 밀도 = 0.75입니다.
                 이 값이 실제 화면 크기를 정확히 따르지는 않지만 디스플레이 DPI의 큰 변화에 맞게 조정됩니다. 자세한 내용은   | 
        ||
am.current | 
            package | 
            현재 실행 중인 패키지의 Android 패키지 이름입니다. | am.current 키가 현재 실행 중인 활동에 관한 정보를 반환합니다. | 
        
action | 
            
                현재 활동의 작업입니다. 패키지 매니페스트에 속한 action 요소의 name 속성과 형식이 같습니다.
             | 
        ||
comp.class | 
            
                현재 활동을 시작한 구성요소의 클래스 이름입니다. 자세한 내용은 comp.package을 참조하세요. | 
        ||
comp.package | 
            현재 활동을 시작한 구성요소의 패키지 이름입니다. 구성요소는 패키지 이름과 패키지에 포함된 클래스 이름으로 지정됩니다. | ||
data | 
            현재 활동을 시작한 인텐트에 포함된 데이터입니다(있는 경우). | ||
categories | 
            현재 활동을 시작한 인텐트로 지정된 카테고리입니다. | ||
clock | 
            realtime | 
            기기가 재부팅된 이후의 밀리초 단위 시간으로, 최대 절전 모드 시간을 포함합니다. | 
                자세한 내용은 SystemClock를 참조하세요.
             | 
        
uptime | 
            기기가 재부팅된 이후의 밀리초 단위 시간으로, 최대 절전 모드 시간을 포함하지 않습니다. | ||
millis | 
            UNIX 에포크 이후의 현재 밀리초 단위 시간입니다. |