Действительно ли возможно остановить приложение для Android от консоли? Что-то как:
adb stop com.my.app.package
Это ускорило бы наш процесс тестирования так. Прямо сейчас мы удаляем/устанавливаем приложение каждый раз, чтобы удостовериться, что ручные тестовые сценарии запускаются с чистого состояния.
Изменить: Спустя много времени после того, как я написал этот пост и он был принят в качестве ответа, команда am force-stop
была реализована командой Android, как упоминалось в этом ответе .
В качестве альтернативы: Вместо того, чтобы просто останавливать приложение, поскольку вы упомянули о желании «с чистого листа» для каждого тестового прогона, вы можете использовать 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 <идентификатор процесса из вывода ps >
В eclipse перейдите в перспективу DDMS и на вкладке устройств щелкните процесс, который вы хотите убить, под устройством, на котором вы хотите его убить. Затем вам просто нужно нажать кнопку остановки, и это должно убить процесс.
Не знаю, как это сделать из командной строки, но способ должен быть. Может через adb shell сделать это ...