안드로이드 자동화 센서 시뮬레이터로
4083 단어 Android
tl;dr
배경.
회사에서 동료들이 스마트폰의 실기 흔들림 센서로 앱을 디버깅하기 때문에 이를 자동화할 수 없어 조사를 진행했다.
Android emulator
Android emulator는 다양한 센서의 값을 상호 시뮬레이션할 수 있습니다.
안드로이드 에뮬레이터의Extended constrols
를 켜고Virtual sensors
를 켜면 CG가 그린 터미널을 대굴대굴 움직일 수 있다.
emulator Console
Android emulator 작업은 명령선을 통해 수행할 수 있습니다.
emulator Constore를 열려면 Android emulator를 시작한 상태에서 다음 명령을 실행합니다.$ telnet localhost 5554
5554
시뮬레이터의 포트 번호를 지정합니다.시뮬레이터의 포트 번호는 adb devices
등으로 조회할 수 있다.
auth 명령
emulator Console에서 help
또는 ?
를 입력하면 사용 가능한 명령이 표시됩니다.
그러나 이 상태에서는 후술한 명령sensor
을 사용할 수 없다.그 이전auth
에는 명령을 사용하여 인증해야 합니다.
emulator Constore를 시작할 때 다음 정보가 표시되어야 합니다.Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/yourname/.emulator_console_auth_token'
cat ~/.emulator_console_auth_token
등 내용을 표시하고 내용에 따라 auth
명령을 실행한다.OK
가 표시되면 인증이 완료됩니다.help
명령에 사용할 수 있는 명령을 확인한 결과 sensor
등의 명령이 증가했다.
sensor 명령
드디어 본론에 들어섰다.sensor
명령은 이름과 같이 다양한 센서의 값을 읽거나 쓸 수 있습니다.help sensor
에서 sensor
명령의 사용 방법을 확인할 수 있다.
이번에는 지정된 값을 센서의 값으로 사용하기 위해 sensor set
명령을 사용합니다.sensor set
명령은 다음과 같다.set <sensorname> <value-a>[:<value-b>[:<value-c>]]
<sensorname>
에 센서 이름을 지정합니다.이것은 sensor status
명령을 통해 확인할 수 있다.
예를 들어, 다음을 입력할 때 가속도 센서의 Y축 값을 20
에 지정할 수 있습니다.sensor set acceleration 0:20:0
아래 그림에서 보듯이 터미널을 세로로 설정할 때 가속도 센서의 정상값은 0:9.81:0
이다.
텔넷 명령 자동 실행
이로써 Android emulator의 emulator Console를 사용하여 다양한 센서의 값을 시뮬레이션할 수 있습니다.
그럼 이 일련의 작업을 자동화해 보세요.
텔넷 명령을 자동으로 실행하려면 다음과 같습니다.$ (sleep 1; echo help; sleep 1) | telnet localhost 5554
이 작업을 수행한 후 emulator Constore에 연결하고 1초 후help
명령을 실행하고 1초 후telnet이 종료됩니다.
우선sleep 1
1초를 기다리는 것은 텔넷의 연결이 완료되기를 기다리기 위해서다.
이렇게 하면 임의의 명령을 자동으로 실행할 수 있지만, 사전에 다른 파일로 명령을 준비하면 매우 편리하다.
아래 내용에 따라 제작해 주십시오cmds.sh
.
cmds.sha=$(cat ~/.emulator_console_auth_token)
sleep 1
echo auth $a
echo sensor status
sleep 1
이걸로 텔넷을 제어하면 다음과 같이 실행됩니다.$ sh ./cmds.sh | telnet localhost 5554
auth
명령을 자동으로 실행하고 sensor status
명령을 실행했는지 확인할 수 있을 것이다.
나머지는 cmds.sh
를 자신이 좋아하는 지령으로 바꾸는 것이다.케이스 스크립트로 제작할 수 있기 때문에 일정 시간, 조건 지점, 중복 처리를 쉽게 기다릴 수 있다.
참고 자료
Android emulator는 다양한 센서의 값을 상호 시뮬레이션할 수 있습니다.
안드로이드 에뮬레이터의
Extended constrols
를 켜고Virtual sensors
를 켜면 CG가 그린 터미널을 대굴대굴 움직일 수 있다.emulator Console
Android emulator 작업은 명령선을 통해 수행할 수 있습니다.
emulator Constore를 열려면 Android emulator를 시작한 상태에서 다음 명령을 실행합니다.$ telnet localhost 5554
5554
시뮬레이터의 포트 번호를 지정합니다.시뮬레이터의 포트 번호는 adb devices
등으로 조회할 수 있다.
auth 명령
emulator Console에서 help
또는 ?
를 입력하면 사용 가능한 명령이 표시됩니다.
그러나 이 상태에서는 후술한 명령sensor
을 사용할 수 없다.그 이전auth
에는 명령을 사용하여 인증해야 합니다.
emulator Constore를 시작할 때 다음 정보가 표시되어야 합니다.Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/yourname/.emulator_console_auth_token'
cat ~/.emulator_console_auth_token
등 내용을 표시하고 내용에 따라 auth
명령을 실행한다.OK
가 표시되면 인증이 완료됩니다.help
명령에 사용할 수 있는 명령을 확인한 결과 sensor
등의 명령이 증가했다.
sensor 명령
드디어 본론에 들어섰다.sensor
명령은 이름과 같이 다양한 센서의 값을 읽거나 쓸 수 있습니다.help sensor
에서 sensor
명령의 사용 방법을 확인할 수 있다.
이번에는 지정된 값을 센서의 값으로 사용하기 위해 sensor set
명령을 사용합니다.sensor set
명령은 다음과 같다.set <sensorname> <value-a>[:<value-b>[:<value-c>]]
<sensorname>
에 센서 이름을 지정합니다.이것은 sensor status
명령을 통해 확인할 수 있다.
예를 들어, 다음을 입력할 때 가속도 센서의 Y축 값을 20
에 지정할 수 있습니다.sensor set acceleration 0:20:0
아래 그림에서 보듯이 터미널을 세로로 설정할 때 가속도 센서의 정상값은 0:9.81:0
이다.
텔넷 명령 자동 실행
이로써 Android emulator의 emulator Console를 사용하여 다양한 센서의 값을 시뮬레이션할 수 있습니다.
그럼 이 일련의 작업을 자동화해 보세요.
텔넷 명령을 자동으로 실행하려면 다음과 같습니다.$ (sleep 1; echo help; sleep 1) | telnet localhost 5554
이 작업을 수행한 후 emulator Constore에 연결하고 1초 후help
명령을 실행하고 1초 후telnet이 종료됩니다.
우선sleep 1
1초를 기다리는 것은 텔넷의 연결이 완료되기를 기다리기 위해서다.
이렇게 하면 임의의 명령을 자동으로 실행할 수 있지만, 사전에 다른 파일로 명령을 준비하면 매우 편리하다.
아래 내용에 따라 제작해 주십시오cmds.sh
.
cmds.sha=$(cat ~/.emulator_console_auth_token)
sleep 1
echo auth $a
echo sensor status
sleep 1
이걸로 텔넷을 제어하면 다음과 같이 실행됩니다.$ sh ./cmds.sh | telnet localhost 5554
auth
명령을 자동으로 실행하고 sensor status
명령을 실행했는지 확인할 수 있을 것이다.
나머지는 cmds.sh
를 자신이 좋아하는 지령으로 바꾸는 것이다.케이스 스크립트로 제작할 수 있기 때문에 일정 시간, 조건 지점, 중복 처리를 쉽게 기다릴 수 있다.
참고 자료
$ telnet localhost 5554
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/yourname/.emulator_console_auth_token'
set <sensorname> <value-a>[:<value-b>[:<value-c>]]
sensor set acceleration 0:20:0
이로써 Android emulator의 emulator Console를 사용하여 다양한 센서의 값을 시뮬레이션할 수 있습니다.
그럼 이 일련의 작업을 자동화해 보세요.
텔넷 명령을 자동으로 실행하려면 다음과 같습니다.
$ (sleep 1; echo help; sleep 1) | telnet localhost 5554
이 작업을 수행한 후 emulator Constore에 연결하고 1초 후help
명령을 실행하고 1초 후telnet이 종료됩니다.우선
sleep 1
1초를 기다리는 것은 텔넷의 연결이 완료되기를 기다리기 위해서다.이렇게 하면 임의의 명령을 자동으로 실행할 수 있지만, 사전에 다른 파일로 명령을 준비하면 매우 편리하다.
아래 내용에 따라 제작해 주십시오
cmds.sh
.cmds.sh
a=$(cat ~/.emulator_console_auth_token)
sleep 1
echo auth $a
echo sensor status
sleep 1
이걸로 텔넷을 제어하면 다음과 같이 실행됩니다.$ sh ./cmds.sh | telnet localhost 5554
auth
명령을 자동으로 실행하고 sensor status
명령을 실행했는지 확인할 수 있을 것이다.나머지는
cmds.sh
를 자신이 좋아하는 지령으로 바꾸는 것이다.케이스 스크립트로 제작할 수 있기 때문에 일정 시간, 조건 지점, 중복 처리를 쉽게 기다릴 수 있다.참고 자료
Reference
이 문제에 관하여(안드로이드 자동화 센서 시뮬레이터로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kawmra/items/6e8c77875c4330ec96ab텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)