是否有可能在主机上停止Android应用程序?喜欢的东西:
adb stop com.my.app.package
这会大大加快我们的测试过程。现在,我们每次卸载/安装应用程序,以确保手动测试用例以干净的状态开始。
是否有可能在主机上停止Android应用程序?喜欢的东西:
adb stop com.my.app.package
这会大大加快我们的测试过程。现在,我们每次卸载/安装应用程序,以确保手动测试用例以干净的状态开始。
当前回答
在eclipse中,转到DDMS透视图,在设备选项卡中单击要终止的设备下的要终止的进程。然后你只需要按下停止按钮,它应该会杀死进程。
我不确定如何从命令行工具做到这一点,但肯定有一种方法。也许你可以通过adb shell来做…
其他回答
“stop”命令实现为force-stop;停止后台应用程序运行。如果它在前景,它也会停止。
adb shell am force-stop com.android.providers.telephony
清理包也删除他们的数据,如。
adb shell pm clear com.android.providers.telephony
会删除你所有的短信吗
你要小心选择哪一个。
在eclipse中,转到DDMS透视图,在设备选项卡中单击要终止的设备下的要终止的进程。然后你只需要按下停止按钮,它应该会杀死进程。
我不确定如何从命令行工具做到这一点,但肯定有一种方法。也许你可以通过adb shell来做…
如果您的目标是一个非根设备和/或APK中有您不想停止的服务,那么其他解决方案将不起作用。
为了解决这个问题,我在活动中添加了一个广播消息接收器来阻止它。
public class TestActivity extends Activity {
private static final String STOP_COMMAND = "com.example.TestActivity.STOP";
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
TestActivity.this.finish();
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//other stuff...
registerReceiver(broadcastReceiver, new IntentFilter(STOP_COMMAND));
}
}
这样,你可以发出这个adb命令来停止你的活动:
adb shell am broadcast -a com.example.TestActivity.STOP
Adb shell killall -9 com.your.package.name
根据MAC“强制访问控制” 您可能已经获得了终止进程的权限 哪个不是由根开始的
玩得开心!
停止应用程序的干净方法是:
adb shell am force-stop com.my.app.id
这样就不需要计算进程ID。