게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
질문) 안드로이드 루트 권한 최초 등록시에만 su실행 됩니다 ㅠㅠ
게시물ID : programmer_17527짧은주소 복사하기
작성자 : 빙티
추천 : 0
조회수 : 698회
댓글수 : 2개
등록시간 : 2016/06/07 22:28:42
옵션
  • 본인삭제금지
안녕하세요!

제가 터치 이벤트를 루팅된 기기에 가하기 위해서 다음과 같은 코드를
기기 내 adb shell에 입력하는 어플리케이션을 개발하였습니다..

su

sendevent /dev/input/event1 3 57 7 //hex 39//터치ID
sendevent /dev/input/event1 1 330 1 //14a
sendevent /dev/input/event1 1 325 1 //145
sendevent /dev/input/event1 3 53  +x//35//좌표설정
sendevent /dev/input/event1 3 54  +y//36
sendevent /dev/input/event1 3 48 0 //30//손가락 굵기
sendevent /dev/input/event1 3 58 38 //3a//터치 강도
sendevent /dev/input/event1 3 63 6 
sendevent /dev/input/event1 0 0 0 

exit



su

sendevent /dev/input/event1 3 57 -1 //39//ffffff대신 -1
sendevent /dev/input/event1 1 330 0 //14a
sendevent /dev/input/event1 1 325 0 //145
sendevent /dev/input/event1 0 0 0

exit



위의 shell코드와 아래의 shell코드는 각각 터치의 down과 up을 실행하는 코드입니다.
제가 가지고 있는 테스트 기기 (갤럭시 노트, 갤럭시 알파)에서는 실행이 되었는데,
여기서 문제가 있었습니다.....

이 코드가 첫 빌드시에만 정상작동이 되었습니다!!!


Screenshot_2016-06-07-09-38-28.png


루팅할 때 제가 supersu를 깔아서 사용하고 있기 때문에,
첫 빌드시에는 이런 팝업이 뜨고 "허용" 버튼을 눌러줘야 터치 이벤트가 발생했습니다.

첫 실행때 만족스럽게 잘 작동 되는 모습을 보고 다시 실행하려고
어플을 재컴파일 없이 다시 켰는데,
이번에는 실행이 되지 않았습니다!!!!

Screenshot_2016-06-07-09-38-19-1.png

그래서 SuperSu에 들어가서 아래와 같은 목록에 제가 만든 어플리케이션의 이름을
위의 "앱" 탭에서 삭제하였습니다. 루트 권한 제공 여부를 관리하는 탭 같았습니다.

제가만든 어플리케이션의 루팅권한 제공 여부를 삭제하고 재빌드 없이 다시 실행한 결과
어플리케이션이 잘 작동하였습니다!!

그렇다는 것은, 제가만든 어플리케이션이 루트 권한을 최초로 받았을때만
정상적으로 실행된다는 것을 의미하는 것이었습니다!

그런데, 왜 이렇게 루팅 첫 실행시에만 실행되는 불미스런 현상이 벌어지는지 모르겠습니다 ㅠㅠ

이 어플리케이션이 shell에 입력한 코드는 위에 서술된 것이 전부입니다!!!!
이유를 알려주시면 대단히 감사드리겠습니다!!!
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호