2013-06-14 2 views
0

UI 테스트를위한 Android 애플리케이션을 개발하고 싶습니다. ADB 명령이나 다른 방법으로 터치를 보내려면 을 보냅니다. Runtime.getRuntime(). exec 함수를 사용하여 시도했지만 작동하지 않습니다.APK에서 Touch 명령을 보내는 방법은 무엇입니까?

기기에서 이벤트를 저장하고 재생하는 APK 만 PC에서 인터페이스를 사용하고 싶지 않습니다.

가능한 해결책을 제안하십시오.

+1

의도적으로 PC를 사용하지 않고 pc 또는 다른 adb usb 호스트 (심지어 다른 전화기!)를 사용하여 adb를 tcp 모드로 전환하거나 깨지 않고 보안 모델은 악용을 사용합니다. –

답변

0

monkey 그것을 할 방법은 다음과 같습니다. InputManager.getInstance() injectInputEvent (KeyEvent를, InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_RESULT를)

당신은 코드를 확인하고보고있을 수 있습니다. androidxref에서 코드를 온라인으로 탐색하십시오. 이렇게하려면 몇 가지 권한이 필요합니다. android.permission.INJECT_EVENTS. 이 권한을 얻으려면 앱이 플랫폼과 동일한 키로 서명되어 있어야합니다.

+0

디바이스에서 이벤트를 저장하고 재생하는 APK 만 PC의 인터페이스를 사용하고 싶지 않습니다. – Tarkik

+0

글쎄, 원숭이/monkeyrunner 모두 안드로이드의 API에 따라 다릅니다. 따라서 앱의 경우 이러한 API를 직접 사용하십시오. PC와의 인터페이스가 전혀 없습니다. – accuya

관련 문제