Edit: Long после того как я написал этот пост, и он был принят в качестве ответа, команда am force-stop
была implemented командой Android, как уже упоминалось в this answer.
В качестве альтернативы: Вместо того, чтобы остановить приложение, так как вы упоминаете желая «чистый лист» для каждого теста, вы можете использовать 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>
Не удалось заставить его работать (разрешение было отклонено как для kill, так и su), но +1 для показа мне, я могу сделать намного больше, чем я думал с adb. – hpique
Ах, похоже, что у вас нет корневого устройства. Это определенно работает на эмуляторе, по крайней мере! :) –
Возможно, вам нужно перезагрузить раздел для чтения и записи и запустить adb как root: adb remount; adb root # Это всего лишь глупое предположение. – Rorist