Редактировать: Спустя долгое время после того, как я написал этот пост и был принят в качестве ответа, команда am force-stop
была реализована командой Android, как упоминалось в this ответить .
В качестве альтернативы: Вместо того, чтобы просто останавливать приложение, поскольку вы упоминаете о необходимости «чистого листа» для каждого запуска теста, вы можете использовать adb shell pm clear com.my.app.package
, что остановит процесс приложения и очистить все сохраненные данные для этого приложения.
Если вы работаете в Linux:
adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
Это будет работать только для устройств / эмуляторов, где у вас есть root сразу после запуска оболочки. Это, вероятно, можно немного уточнить, чтобы заранее позвонить su
.
В противном случае вы можете сделать (вручную или, я полагаю, по сценарию):
pc $ adb -d shell
android $ su
android # ps
android # kill <process id from ps output>