콘솔에서 Android 앱 중지
콘솔에서 Android 앱을 중지 할 수 있습니까? 다음과 같은 것 :
adb stop com.my.app.package
테스트 프로세스가 너무 빨라질 것입니다. 지금은 수동 테스트 사례가 깨끗한 상태로 시작되도록 매번 앱을 제거 / 설치합니다.
편집 : 나는이 게시물을 작성한 사람과는 응답으로, 허용 된 후 긴 am force-stop
명령했다 구현 에 언급 한 바와 같이, 안드로이드 팀 이 답변 .
또한 : 오히려 당신이, 당신이 사용할 수있는 각 테스트 실행에 대해 "깨끗한 슬레이트"을 원하는 말할 것도 있기 때문에 그냥 응용 프로그램을 중지하는 것보다 adb shell pm clear com.my.app.package
응용 프로그램 프로세스를 중지 할, 그리고 그 응용 프로그램에 저장된 모든 데이터를 지 웁니다.
Linux를 사용하는 경우 :
adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
쉘을 실행하자마자 루트가있는 장치 / 에뮬레이터에서만 작동합니다. su
미리 전화해서 약간 다듬을 수 있습니다 .
그렇지 않으면 (수동으로 또는 스크립트로 가정) 할 수 있습니다.
pc $ adb -d shell
android $ su
android # ps
android # kill <process id from ps output>
앱을 중지하는 가장 좋은 방법은 다음과 같습니다.
adb shell am force-stop com.my.app.package
이렇게하면 프로세스 ID를 알 필요가 없습니다.
먼저 앱을 백그라운드에 놓습니다 (기기의 홈 버튼을 누름)
그런 다음 .... 터미널에서 ....
adb shell am kill com.your.package
장치 콘솔에서 다음을 사용할 수 있습니다 pm disable com.my.app.package
. 그런 다음 pm enable com.my.app.package
다시 시작할 수 있도록 사용 하십시오.
응용 프로그램 패키지에 액세스 할 수있는 경우 -r 옵션을 사용하여 설치할 수 있으며 현재 부작용으로 실행중인 프로세스가 종료됩니다. 이처럼 :
adb -d install -r MyApp.apk ; adb -d shell am start -a android.intent.action.MAIN -n com.MyCompany.MyApp/.MyActivity
-r 옵션은 현재 앱과 관련된 데이터를 유지합니다. 그러나 언급 한 것처럼 깨끗한 슬레이트를 원하면 해당 옵션을 사용하지 않을 수 있습니다.
루팅되지 않은 기기를 타겟팅하거나 APK에 중지하고 싶지 않은 서비스가 있으면 다른 솔루션이 작동하지 않습니다.
이 문제를 해결하기 위해, 활동을 중지시키기 위해 활동에 추가 한 브로드 캐스트 메시지 수신자에 의존했습니다.
public class TestActivity extends Activity {
private static final String STOP_COMMAND = "com.example.TestActivity.STOP";
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
TestActivity.this.finish();
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//other stuff...
registerReceiver(broadcastReceiver, new IntentFilter(STOP_COMMAND));
}
}
이렇게하면이 adb 명령을 실행하여 활동을 중지 할 수 있습니다.
adb shell am broadcast -a com.example.TestActivity.STOP
당신이 찾고있는 모든 패키지를 죽이고있다
pkill package_name
작동해야합니다
일식에서 DDMS 퍼스펙티브로 이동하고 장치 탭에서 종료하려는 장치 아래에서 종료하려는 프로세스를 클릭하십시오. 그런 다음 중지 버튼을 누르면 프로세스가 종료됩니다.
I'm not sure how you'd do this from the command line tool but there must be a way. Maybe you do it through the adb shell...
adb shell killall -9 com.your.package.name
according to MAC "mandatory access control" you probably have the permission to kill process which is not started by root
have fun!
pkill NAMEofAPP
Non rooted marshmallow, termux & terminal emulator.
참고URL : https://stackoverflow.com/questions/3117095/stopping-an-android-app-from-console
'Programming' 카테고리의 다른 글
Windows cmd에서 git commit 메시지를 저장하는 방법은 무엇입니까? (0) | 2020.05.16 |
---|---|
저장되지 않은 SQL 쿼리 스크립트 복구 (0) | 2020.05.15 |
Django Admin-헤더 'Django Administration'텍스트 변경 (0) | 2020.05.15 |
기계적 인조 인간. (0) | 2020.05.15 |
다중 명령문 테이블 값 함수 대 인라인 테이블 값 함수 (0) | 2020.05.15 |