카테고리 보관물: Android

Android

콘솔에서 Android 앱 중지 콘솔에서 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 

작동해야합니다