使用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中运行以下命令:
adb connect 192.168.122.131:5555
3. 检查搜狐视频是否在运行
在宿主机的shell中运行以下命令:
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中运行以下命令:
adb shell am start -a android.intent.action.MAIN -n com.sohu.sohuvideo/.FirstNavigationActivityGroup
5. 关闭搜狐视频APP
① 找到搜狐视频的系统进程
在宿主机的shell中运行以下命令:
adb shell ps | grep sohu
搜狐视频的进程名为“com.sohu.sohuvideo
”。
② 此处有两种方法关闭搜狐视频的进程,如下所示:
- Method-A:
在宿主机的shell中运行以下命令:
adb shell am force-stop com.sohu.sohuvideo
注意:
这种方法会强制停止APP进程,不会清除APP进程在系统中产生的数据。
- Method-B:
在宿主机的shell中运行以下命令:
adb shell pm clear com.sohu.sohuvideo
注意:
这种方法不仅会停止APP进程,而且会清除这个APP进程产生的所有数据。
③ 检查搜狐视频是否正在运行
在宿主机的shell中运行以下命令:
adb shell ps | grep sohu
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」