게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안드로이드 adb shell로 모든종류 터치 이벤트 줄 수 있나요??
게시물ID : programmer_17355짧은주소 복사하기
작성자 : 빙티
추천 : 0
조회수 : 1126회
댓글수 : 2개
등록시간 : 2016/05/24 19:44:40
옵션
  • 본인삭제금지
안녕하세요! 일반고에 다니는 흔한 고3 학생입니다!
제가 안드로이드 어플리케이션을 개발하고 있는데요,
루팅된 기기에 이 앱을 깔면,
이 앱이 자체적으로 Intent로 홈 키를 누르고, 그 홈 화면에 일정 좌표에 터치 이벤트를 주게 하게끔 하려고 합니다!

(좌표가 일정한게 아니고, 사용자가 정하는 거라서 몽키 테스트로 만들게 되면 터치 이벤트 한번 줄 때마다 txt파일 임의로 만들어서 해야하는 불상사가 생기게 되었습니다 ㅠ)

그래서 저는 adb shell을 이용해서 다음과 같은 함수 global.sudo(String)를 만들어서
자바에서 쉽게 sudo 명령이 필요한 input을 넣을 수 있게 되었습니다.


global.sudo("input swipe 1000 200 200 200");//홈으로 돌아가도 작동 잘 된다.
global.sudo("input tap 1081 705");//루팅된 갤럭시 탭에서 실행 잘 됨

이는 루팅된 기기를 PC와 연결 후 다음과 같은 adb shell 코드를 실행했을 때와 똑같은 역할을 합니다
(노란 부분은 실제 입력한 부분입니다.)
캡처2.PNG

그런데, 여기서 문제가 있습니다!
저는 이것을 dispatchTouchEvent 와 같이 다양한 터치 이벤트를 주고 싶은데,
dispatchTouchEvent는 제가 만든 어플리케이션 밖의 다른 어플리케이션에게 터치이벤트를 줄 수 없습니다!

적어도, dispatchTouchEvent에서
MotionEvent.ACTION_DOWN, MotionEvent.ACTION_MOVE, MotionEvent.ACTION_UP은 만들어야 하는데 말이죠..

이 input이 갖고있는 커맨드는 다음과 같습니다..

캡처.PNG

아래 노란색 글씨를 주목해주세요!


제가 궁금한 것은 다음과 같습니다!

제가 구상하던 ACTION_DOWN, MOVE, UP을 위의 메서드로 구현할 수 있을까요??? ㅜㅜ
혹은, input이 아닌 다른 shell 코드로 ACTION_DOWN, MOVE, UP을 구현할 수 있을까요?

답변해 주시면 대단히 감사드리겠습니다!!
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호