답변:
편집 : 나는이 게시물을 작성한 사람과는 응답으로, 허용 된 후 긴 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를 알 필요가 없습니다.
force-stop
명령이 존재 하기 전에 위의 답변을 썼습니다 . 이 답변을 가리 키도록 답변을 업데이트했습니다.
Android 9.0 API Level 28
에서 앱 과 관련하여 앱을 찾 더라도 앱 이 최신 앱에 계속 표시됩니다 PID
. 백그라운드 앱에서도 앱을 완전히 중지하는 방법을 알고 있습니까?
먼저 앱을 백그라운드에 놓습니다 (기기의 홈 버튼을 누름)
그런 다음 .... 터미널에서 ....
adb shell am kill com.your.package
장치 콘솔에서 다음을 사용할 수 있습니다 pm disable com.my.app.package
. 그런 다음 pm enable com.my.app.package
다시 시작할 수 있도록 사용 하십시오.
adb shell
실행 해야합니다 su
.
루팅되지 않은 기기를 타겟팅하거나 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
작동해야합니다
adb shell killall -9 com.your.package.name
MAC "필수 액세스 제어"에 따르면 아마도 루트에 의해 시작되지 않은 프로세스를 종료 할 수있는 권한이있을 것입니다
재미 있어요!
일식에서 DDMS 퍼스펙티브로 이동하고 장치 탭에서 종료하려는 장치 아래에서 종료하려는 프로세스를 클릭하십시오. 그런 다음 중지 버튼을 누르면 프로세스가 종료됩니다.
명령 줄 도구에서 어떻게하는지 모르겠지만 방법이 있어야합니다. 아마도 당신은 adb shell을 통해 그것을 할 수 있습니다 ...
pkill NAMEofAPP
루팅되지 않은 마시멜로, termux 및 터미널 에뮬레이터.