본문 바로가기
Develop/Android

[android] 실행중인 앱을 강제 종료시키고 싶을 때

by 3-stack 2021. 9. 29.

adb shell am force-stop [--user <USER_ID> | all | current] <PACKAGE>

 

디버깅 하던 중 실행 중인 앱이 갑자기 종료되었을 때, 어떻게 작동하는지 테스트해보고 싶었다.

예를 들면 큰 크기의 파일을 인코딩하고 업로드하는 일련의 처리에서

예상하지 못 하게 크래시가 발생해 앱이 종료 되면 어떻게 될까?

그리고 이런 상황이 발생했을 때도 사용자가 큰 불편함을 느끼지 않고 대처할 수 있게 개발하고 싶었다.

 

adb shell am force-stop [--user <USER_ID> | all | current] <PACKAGE>

# 특정 패키지 강제 종료
adb shell am force-stop com.3stack.kakao
 
# 특정 유저의 특정 패키지 강제 종료
adb shell am force-stop --user 10 com.3stack.kakao

 

🤷‍♂️ stop vs force-stop ?? 

stop

단순히 Activity 또는 Service 강제 종료.

force-stop

프로세스가 killed 되고, Pakcage의 stop 상태가 true로 변경.

stop 상태가 true로 변경되면 앱은 브로드캐스트 받을 수 없으며, 다시 실행해야

stop 상태가 false로 변경되고 브로드캐스트 받을 수 있게 된다.

 

 

 

댓글