[Android] adb 命令 dumpsys activity , 用来看 task 中的activity。 (uninstall virus)

本文通过使用adb shell dumpsys activity命令展示了Android系统中正在运行的任务和活动记录。具体包括两个任务栈,一个是与Google快速搜索框相关的任务,另一个是与百度DFC应用相关的任务,详细列出了每个任务的ID、组件名称、意图及历史记录。

用“adb shell dumpsys activity命令再来查看一下系统运行的的任务,就会看到:

 

复制代码
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
  Stack #0:
    Task id #1
      TaskRecord{42db5500 #1 A=com.google.android.googlequicksearchbox U=0 sz=1}
      Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.google.android.googlequicksearchbox/com.google.android.launcher.GEL }
        Hist #0: ActivityRecord{42db39f8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1}
          Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.googlequicksearchbox/com.google.android.launcher.GEL }
          ProcessRecord{42db6348 1118:com.google.android.googlequicksearchbox/u0a19}

    Running activities (most recent first):
      TaskRecord{42db5500 #1 A=com.google.android.googlequicksearchbox U=0 sz=1}
        Run #0: ActivityRecord{42db39f8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1}

    mResumedActivity: ActivityRecord{42db39f8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1}

  Stack #1:
    Task id #47
      TaskRecord{42f32108 #47 A=com.baidu.dfc U=0 sz=1}
      Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.baidu.dfc/.module.mainhome.activity.HomeActivity bnds=[279,751][540,1071] }
        Hist #0: ActivityRecord{4310e1a0 u0 com.baidu.dfc/.module.mainhome.activity.HomeActivity t47}
          Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.baidu.dfc/.module.mainhome.activity.HomeActivity bnds=[279,751][540,1071] }
          ProcessRecord{425d5190 13633:com.baidu.dfc/u0a497}

    Task id #35
      TaskRecord{437f1720 #35 I=com.android.settings/.applications.InstalledAppDetailsTop U=0 sz=1}
      Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS dat=package:com.baidu.dfc flg=0x10c08000 cmp=com.android.settings/.applications.InstalledAppDetailsTop }
        Hist #0: ActivityRecord{42d0dfa8 u0 com.android.settings/.applications.InstalledAppDetails t35}
          Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS dat=package:com.baidu.dfc flg=0x10c08000 cmp=com.android.settings/.applications.InstalledAppDetails }

    Running activities (most recent first):
      TaskRecord{42f32108 #47 A=com.baidu.dfc U=0 sz=1}
        Run #0: ActivityRecord{4310e1a0 u0 com.baidu.dfc/.module.mainhome.activity.HomeActivity t47}
复制代码

 

分类:  Android Pro
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/5134471.html如需转载请自行联系原作者

demoblog
<think> 我们被要求使用中文回答问题,并且在回答后必须提出3-5个相关问题,以“§§相关问题§§”开头。 用户这次的问题是:“adb shell dumpsys activity activities” 我们需要解释这个命令,然后提出相关问题。 解释: 这个命令用于获取Android设备上当前所有活动(activities)的状态信息,包括任务栈(task stack)中的activity记录。它是Android调试中的一个强大工具,可以帮助开发者了解应用的运行状态、任务栈结构等。 具体来说: - `adb shell`:通过ADB在连接的Android设备上执行shell命令。 - `dumpsys`:一个用于从系统服务中转储信息的工具。 - `activity`:指定转储activity管理服务的信息。 - `activities`:进一步限定为activity相关的信息,包括运行中的activity、任务栈等。 输出内容通常包括: - 当前所有任务栈(Task)的列表,每个任务栈包含其中的Activity记录。 - 每个Activity的状态(如resumed、paused等)、所属包名、类名、Intent等信息。 - 任务栈的ID、affinity(亲和性)、是否可移动等属性。 使用场景: - 调试多任务栈问题。 - 查看应用是否在前台运行。 - 分析Activity的启动模式(launchMode)是否按预期工作。 注意事项: - 设备需开启USB调试并通过USB连接(或网络ADB连接)。 - 输出信息可能非常长,建议结合grep(Linux/Mac)或findstr(Windows)进行过滤。 由于命令输出内容很多,通常我们会配合过滤命令使用,比如: - 在Windows上:`adb shell dumpsys activity activities | findstr "mResumedActivity"` (查找当前获得焦点的Activity) - 在Linux/Mac上:`adb shell dumpsys activity activities | grep "mResumedActivity"` 接下来,我们按照要求提出3-5个相关问题: 1. 如何过滤dumpsys activity activities的输出以仅显示当前获得焦点的Activity? 2. 在Android开发中,如何利用dumpsys分析任务栈(Task)的结构? 3. dumpsys除了activity参数,还有哪些常用的服务可以转储? 4. 如何通过adb命令查看当前Android设备的屏幕分辨率? 5. 在dumpsys activity的输出中,Hist和Task分别代表什么? 注意:我们提出的问题应该与原始问题相关,并且基于我们的回答。 </think> `adb shell dumpsys activity activities` 是一个用于获取 Android 设备当前所有活动(Activity)栈详细状态的 ADB 命令。它会输出如下关键信息: ### 核心输出内容: 1. **任务栈(Task)结构** - 显示当前所有任务栈(按最近使用顺序排序) - 每个栈包含:栈ID、affinity(亲和性)、运行模式(如 `standard`/`singleTop`) - 示例:`Task id=108 affinity=com.example.app` 2. **Activity 详情** - 每个 Activity 的完整类名:`com.example.app/.MainActivity` - 当前状态:`RESUMED`(前台运行)/`PAUSED`/`STOPPED` - Intent 信息:启动参数和标志位 - 窗口管理数据:如窗口尺寸、旋转状态 3. **焦点状态** - 明确标记当前获得焦点的 Activity:`mResumedActivity: ActivityRecord{...}` - 可视性状态:例如 `visible=true` ### 使用场景: - 🔍 调试多 Activity 跳转问题 - 📱 检查应用是否在后台运行 - 🧩 分析任务栈重叠问题(如 `singleInstance` 模式) - ⚙️ 验证 Activity 生命周期状态 ### 注意事项: 1. 需开启 USB 调试:`设置 > 开发者选项 > USB调试` 2. 输出内容极长,建议搭配过滤命令使用: ```bash # Windows adb shell dumpsys activity activities | findstr "ResumedActivity" # Linux/Mac adb shell dumpsys activity activities | grep "Hist #" ``` 3. 设备休眠时可能返回空数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值