2016년 5월 17일 화요일

android am 옵션, 쉘에서 액티비티나 서비스를 실행하는 방법

[Usage] 
- am start -a android.intent.action.MAIN -n 패키지명/액티비티 경로명 
- am startservice -n 패키지명/서비스경로명 
- adb shell am broadcast -a "브로드캐스트명" 
  
쉘에서 액티비티나 서비스를 실행하는 방법입니다. 
쉘의 AM 명령어를 사용합니다. 
  
1. 액티비스 실행하는 방법 
*명령어 
adb shell am start -a android.intent.action.MAIN -n 패키지명/액티비티 경로명 
  
예) 
am start -a android.intent.action.MAIN -n com.example.echo/com.example.echo.echodemo 
  
  
2. 서비스 실행하는 방법 
*명령어 
adb shell am startservice -n 패키지명/서비스경로명 
  
예) 
am startservice -n com.example.echo/com.example.echo.echoservice 
3. broadcast 테스트하기 
*명령어 
 adb shell am broadcast -a "브로드캐스트명" 
  
ex) 
adb shell am broadcast -a android.accounts.LOGIN_ACCOUNTS_CHANGED 

=============================================== 

자주쓰는 am 옵션 


- device 인식이 잘 안될때 케이블을 꼽았다 꼽거나 adb server를 죽입니다. 
adb kill-server 

- 연결되있는 devices 리스트를 볼수있습니다. 
adb devices 

- 여러개의 device를 연결했을 경우 선택해서 사용할 수 있습니다. 
adb -d logcat (device) 
adb -e logcat (emulator) 
adb -s emulator-xxx logcat (device serial) 

- 쉘 
adb -d shell 

- apk 설치 
adb -d install test.apk 
adb -d shell 
# pm install /sdcard/test.apk 

- 재설치 
adb -d install -r test.apk 

- 사인 문제로 재설치 안될 경우 오버라이트로 설치 
adb -d push test.apk /system/app 

- 텍스트 입력입니다. 주로 터치키보드로 긴 URL이나 긴 비밀번호 입력하기 힘들때 사용합니다. 
adb shell input text "삼천궁녀" 

- 디버깅 용도로 아주 가끔 사용합니다. 랜덤 이벤트로 테스트합니다. 
adb shell monkey -v 1000 com.test.app1 

- 특정 액티비티를 실행합니다. 
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings 


페이스북 앱 실행 
am start -a android.intent.action.VIEW -d facebook://facebook.com/inbox  

sd카드 
am start -a android.intent.action.VIEW -d file:///sdcard/me.vcard -t text/x-vcard  

갤러리 실행 
am start -a android.intent.action.GET_CONTENT -t image/jpeg  

카메라 실행 
am start -a android.media.action.IMAGE_CAPTURE 

환경설정 실행 
am start -a android.intent.action.MAIN -n com.android.settings/.Settings 

브라우저로 구글띄우기 
am start -a android.intent.action.VIEW http://www.google.com 

전화걸기 다이얼 입력 
am start -a android.intent.action.DIAL tel:010XXXXXXX 

전화걸기 
am start -a android.intent.action.CALL tel:010XXXXXXX 

전화걸기 


am start -a android.intent.action.DAIL -d tel:010-XXXX-XXXX 

문자전송 
am start -a android.intent.action.SENDTO -d sms:"010XXXXXXXX" --es sms_body "test message!!" --ez exit_on_sent true 
============================== 
미결 
$ adb shell input keyevent 22 
$ adb shell input keyevent 6 
============================== 

패턴? 
am start -n com.android.settings/com.android.settings.ChooseLockGeneric --ez confirm_credentials false --ei lockscreen.password_type 0 --activity-clear-task 

GPS 
am start -a android.intent.action.VIEW geo:37.111111-222.333333 


달력실행 
am start -n com.android.calendar/com.android.calendar.LaunchActivity

댓글 없음:

댓글 쓰기