zoukankan      html  css  js  c++  java
  • 使用adb命令停止APP后台进程的方法


    http://ghoulich.xninja.org/2015/12/10/stop-app-background-by-adb/



    0. 环境描述

    ① 宿主机系统:Ubuntu 14.04 Desktop
    ② 客户机系统:Android-x86 4.4 R2
    ③ SDK版本:android-sdk_r24.2-linux
    ④ 虚拟化方案:KVM QEMU
    ⑤ 联网方式:NAT
    ⑥ 宿主机IP:192.168.1.109
    ⑦ 客户机IP:192.168.122.131
    ⑧ 示例APP:搜狐视频

    1. 启动客户机

    ① 通过VNC连接至宿主机;
    ② 在宿主机中找到并运行:
    Applications → System Tools → Virtual Machine Manager
    ③ 在KVM的图形界面中运行先前创建好的Android-x86虚拟机。

    2. ADB连接至客户机

    在宿主机的shell中运行以下命令:

    1. adb connect 192.168.122.131:5555

    若上述命令的输出如下所示,则表示连接成功:

    3. 检查搜狐视频是否在运行

    在宿主机的shell中运行以下命令:

    1. adb shell ps | grep sohu

    若上述命令的输出如下所示,则表明当前没有运行搜狐视频:

    4. 运行搜狐视频APP

    ① 查找运行入口

    使用APKTool工具反编译搜狐视频的APK安装文件(SohuVideo_Android_Phone.apk),得到如下文件列表:

    其中的AndroidManifest.xml文件包含APP的启动信息,几乎每个APP的APK文件反编译之后都具有这个文件。

    使用Notepad++打开AndroidManifest.xml文件,查找关键字“android.intent.category.LAUNCHER”或“android.intent.action.MAIN”,此时可以找到APP的入口动作:

    其中的“.FirstNavigationActivityGroup”便是便是搜狐视频的入口动作,下面通过adb启动APP时需要用到。

    ② 在宿主机的shell中运行以下命令:

    1. adb shell am start -a android.intent.action.MAIN -n com.sohu.sohuvideo/.FirstNavigationActivityGroup

    若上述命令的输出如下所示,则表明运行搜狐视频成功:

    此时观察客户机,可以发现搜狐视频已经成功运行:

    5. 关闭搜狐视频APP

    ① 找到搜狐视频的系统进程

    在宿主机的shell中运行以下命令:

    1. adb shell ps | grep sohu

    若上述命令的输出如下所示,则表示找到搜狐视频的进程:

    搜狐视频的进程名为“com.sohu.sohuvideo”。

    ② 此处有两种方法关闭搜狐视频的进程,如下所示:

    • Method-A:

    在宿主机的shell中运行以下命令:

    1. adb shell am force-stop com.sohu.sohuvideo

    若上述命令的输出如下所示,则表示成功杀死进程:

    注意:
    这种方法会强制停止APP进程,不会清除APP进程在系统中产生的数据。

    • Method-B:

    在宿主机的shell中运行以下命令:

    1. adb shell pm clear com.sohu.sohuvideo

    若上述命令的输出如下所示,则表示成功杀死进程:

    注意:
    这种方法不仅会停止APP进程,而且会清除这个APP进程产生的所有数据。

    ③ 检查搜狐视频是否正在运行

    在宿主机的shell中运行以下命令:

    1. adb shell ps | grep sohu

    若上述命令的输入如下所示,则表示已经成功停止搜狐视频的后台进程:


  • 相关阅读:
    为什么要用MarkDown?
    Android Studio: Application Installation Failed
    git查看某个文件修改历史
    有些事现在不做,一辈子都不会做了
    onMouseOver&onMouseOut vs onMouseEnter&onMouseLeave
    versionCode & versionName
    display:none vs visibility:hidden
    polyfill
    combineReducers
    React Context
  • 原文地址:https://www.cnblogs.com/ztguang/p/12645946.html
Copyright © 2011-2022 走看看