Stopping an Android app from console
Solution 1:
The clean way of stopping the app is:
adb shell am force-stop com.my.app.id
This way you don't have to figure out the process ID.
Solution 2:
Edit: Long after I wrote this post and it was accepted as the answer, the am force-stop
command was implemented by the Android team, as mentioned in this answer.
Alternatively: Rather than just stopping the app, since you mention wanting a "clean slate" for each test run, you can use adb shell pm clear com.my.app.package
, which will stop the app process and clear out all the stored data for that app.
If you're on Linux:adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
That will only work for devices/emulators where you have root immediately upon running a shell. That can probably be refined slightly to call su
beforehand.
Otherwise, you can do (manually, or I suppose scripted):pc $ adb -d shell
android $ su
android # ps
android # kill <process id from ps output>
Solution 3:
First, put the app into the background (press the device's home button)
Then....in a terminal....
adb shell am kill com.your.package