可以从控制台停止Android应用程序吗?比如:

adb stop com.my.app.package

这将大大加快我们的测试过程.现在,我们每次都卸载/安装应用程序,以确保手动测试用例以干净的状态启动.

推荐答案

Edit:在我写了这篇文章并被接受为答案很久之后,am force-stop命令被Android团队使用了implemented,正如this answer中提到的.

Alternatively:不只是停止应用程序,因为您提到希望每次测试运行都有一个"干净的记录",所以可以使用adb shell pm clear com.my.app.package,这将停止应用程序进程and清除该应用程序的所有存储数据.


If you're on Linux:
adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill

这只适用于在运行shell时立即拥有root的设备/模拟器.这可能会稍微细化,以便提前调用su.

Otherwise, you can do (manually, or I suppose scripted):
pc $ adb -d shell
android $ su
android # ps
android # kill <process id from ps output>

Android相关问答推荐

java.lang. IllegalState异常:CompositionLocal LifecycleOwner不存在

在Android Studio Iguana 2023.2.1中,哪里可以找到能量分析器?

Android可组合继承?

在Kotlin Jetpack Compose中点击按钮后启动另一个Android应用程序

推断的类型是片段,但应为上下文

如何将两个变量传递给Nav主机,然后将其传递给另一个屏幕?

android回收器查看点击事件无响应

可以';t将数据插入房间数据库

在c中更新MVVMCross中TextView的Alpha#

Camera2 将图像从 ImageReader 传递到 MediaRecorder

Material 3的MaterialSwitch默认大小太大了?如何使它变小?

Android Jetpack Compose 电视焦点恢复

我的自定义小吃店不适合我的全宽屏幕尺寸

Jetpack 组合千位分隔符视觉转换,也适用于小数

在 Kotlin 中打开新片段时如何对当前片段应用更改?

是什么让 Android Studio 中的按钮变成紫色?加上新手的其他奇怪行为

Kotlin Compose forEach 中的负间距

如何在 Jetpack Compose 中擦除画布时变得透明,现在我得到白色?

Jetpack Compose 中的按钮上的文本未更新

为什么在try 实例化 Mediaplayer 时会出现 NullPointerException?安卓Kotlin