Search code examples
androidadb

Android ADB stop application command like "force-stop" for non rooted device


I'm trying to stop application on Android 2.3.7 device. But in this version of Android I can't use "force-stop" command. Do you know any other ways to close application on non rooted device?


Solution

  • The first way
    Requires root

    Use kill:

    adb shell ps => Will list all running processes on the device and their process ids
    adb shell kill <PID> => Instead of <PID> use process id of your application

    The second way
    In Eclipse open DDMS perspective.
    In Devices view you will find all running processes.
    Choose the process and click on Stop.

    enter image description here

    The third way
    It will kill only background process of an application.

    adb shell am kill [options] <PACKAGE> => Kill all processes associated with (the app's package name). This command kills only processes that are safe to kill and that will not impact the user experience.
    Options are:

    --user <USER_ID> | all | current: Specify user whose processes to kill; all users if not specified.

    The fourth way
    Requires root

    adb shell pm disable <PACKAGE> => Disable the given package or component (written as "package/class").

    The fifth way
    Note that run-as is only supported for apps that are signed with debug keys.

    run-as <package-name> kill <pid>

    The sixth way
    Introduced in Honeycomb

    adb shell am force-stop <PACKAGE> => Force stop everything associated with (the app's package name).

    P.S.: I know that the sixth method didn't work for you, but I think that it's important to add this method to the list, so everyone will know it.