adb shell am stack list命令调试查看ActivityManagerService相关属性详解

adb shell常用命令 adb shell am stack list 是一个用于调试 Android 系统 Activity 管理的命令,它会输出当前系统中所有 Activity 栈(Stack)和任务(Task)的详细信息。dumpsys activity | grep -i foc 是一个在 Android 设备的 ADB shell 环境中常用的命令,用于查找当前焦点(focused)的 Activity 信息。Stack ID‌:栈的唯一标识符(如 Stack id=4)。当前显示最前端的栈通常是第一个输出的。 阅读详情

hi,学员们大家好,经常在做框架特别是ActivityManagerService模块开发过程中会使用一个命令来查看一些信息辅助我们看到系统目前的Activity的一个情况,主要包括Activity分布的Stack,Task情况。具体效果如下:

test@test-Lenovo:~/xiaomi5/frameworks$ adb shell am stack list
Stack id=4 bounds=[0,0][1080,1920] displayId=0 userId=0
 configuration={1.0 ?mcc?mnc [zh_CN] ldltr sw360dp w360dp h616dp 480dpi nrml long port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0} s.12}
  taskId=231: com.android.dialer/com.android.dialer.main.impl.MainActivity bounds=[0,0][1080,1920] userId=0 visible=true topActivity=ComponentInfo{com.android.dialer/com.android.dialer.main.impl.MainActivity}

Stack id=0 bounds=[0,0][1080,1920] displayId=0 userId=0
 configuration={1.0 ?mcc?mnc [zh_CN] ldltr sw360dp w360dp h616dp 480dpi nrml long port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=home mAlwaysOnTop=undefined mRotation=ROTATION_0} s.12}
  taskId=228: com.android.launcher3/com.android.launcher3.lineage.LineageLauncher bounds=[0,0][1080,1920] userId=0 visible=false topActivity=ComponentInfo{com.android.launcher3/com.android.launcher3.lineage.LineageLauncher}

Stack id=3 bounds=[0,0][1080,1920] displayId=0 userId=0
 configuration={1.0 ?mcc?mnc [zh_CN] ldltr sw360dp w360dp h616dp 480dpi nrml long port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0} s.12}
  taskId=230: com.android.messaging/com.android.messaging.ui.conversationlist.ConversationListActivity bounds=[0,0][1080,1920] userId=0 visible=false topActivity=ComponentInfo{com.android.messaging/com.android.messaging.ui.conversationlist.ConversationListActivity}

Stack id=1 bounds=[0,0][1080,1920] displayId=0 userId=0
 configuration={1.0 ?mcc?mnc [zh_CN] ldltr sw360dp w360dp h616dp 480dpi nrml long port finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 1920) mAppBounds=Rect(0, 0 - 1080, 1920) mWindowingMode=fullscreen mDisplayWindowingMode=fullscreen mActivityType=standard mAlwaysOnTop=undefined mRotation=ROTATION_0} s.12}
  taskId=229: com.android.contacts/com.android.contacts.activities.PeopleActivity bounds=[0,0][1080,1920] userId=0 visible=false topActivity=ComponentInfo{com.android.contacts/com.android.contacts.activities.PeopleActivity}


命令输出可以看出以下信息:
1、当前显示最前端的Activity stack一般是第一个输出的Stack id=4
2、对于的Activiy taskId是 taskId=231: com.android.dialer/com.android.dialer.main.impl.MainActivity 是task底部Activity,也有对应的topActivity=ComponentInfo{com.android.dialer/com.android.dialer.main.impl.MainActivity
3、有Activity Stack的显示的窗口区域bounds=[0,0][1080,1920]

如果需要学习更多framework只是和视频可以b站关注:千里马学框架,购买课程最好加入422901085群里找千里马要优惠和答疑

课程答疑和新课信息:QQ交流群:422901085进行课程讨论,加群主qq享受 优惠
FrameWork入门课视频链接:https://edu.youkuaiyun.com/course/detail/30298
FrameWork实战课1视频链接:https://edu.youkuaiyun.com/course/detail/30275
FrameWork跨进程通信视频链接:https://edu.youkuaiyun.com/course/detail/35911
专题博客系列:
Android 8.1 zygote 启动过程源码
Android Framework实战视频–Zygote的fork进程篇
Android Framework实战视频–SystemServer启动篇
Android Framework实战视频–SystemServer启动FallbackHome篇
Android Framework实战视频–FallbackHome进程启动及Activity启动篇
Android Framework实战视频–FallbackHome结束启动Launcher篇
Android Framework实战视频–BootAnimation的启动源码分析(Android8.1)

Android Framework实战视频–init进程的bootanimation启动源码分析(补充Android 10部分的BootAnimation的启动源码分析)

保姆级调试:用adb shell am stack list分析车机多窗口Activity的显示层级 本文详细介绍了如何使用`adb shell am stack list`和`dumpsys activity activities`命令组合来调试车机多窗口Activity的显示层级。通过解析`WindowingMode`、`Task`和`Activity`的关键字段,帮助开发者解决窗口叠放错乱、焦点丢失等问题,提升车载Android系统的多窗口管理效率。 阅读详情

相关推荐

Appsflyer S2S事件上报实战:从参数获取到避坑指南(附Firebase对比)

本文详细解析了Appsflyer S2S事件上报的实战技巧,包括核心参数获取、测试环境搭建、生产环境最佳实践以及高级场景处理。通过对比Firebase的事件上报机制,帮助开发者高效避坑并优化数据上报流程,提升应用分析与营销效果。

egg99的博客 885

Android调试命令

1、am命令打开应用 先am stack list,列出当前最近使用的apk: root@octopus-t826:/ # am stack list am stack list Stack id=1 bounds=[0,0][1200,1920] displayId=0 taskId=21: com.android.camera2/com.android.camera.CameraL

zsy_wal的博客 829

adb常用命令

1.adb shell screenrecord /sdcard/demo.mp4 //录屏 adb shell /system/bin/screencap -p /sdcard/screenshot.png //截图 2.adb logcat -b events -v time > logEventxxx //打印event log 3.adb shell am stack list //打出栈信息从而判断...

hanhan1016的专栏 4316

半导体行业周期分析:库存、需求与复苏路径深度解读

半导体行业作为现代科技产业的基石,其周期性波动受供需关系、库存水平和宏观经济等多重因素影响。从技术原理上看,行业景气度通常通过库存周转天数、晶圆厂产能利用率等核心指标进行监测,这些指标反映了产业链各环节的健康状况。在工程实践中,理解这些指标有助于企业进行库存管理和产能规划,从而提升运营效率。当前,半导体市场正经历结构性分化,其中**库存周转天数**和**晶圆厂产能利用率**成为判断市场拐点的关键。在应用场景上,汽车电子、人工智能等领域需求相对稳健,而消费电子则面临较大压力。本文聚焦于半导体行业的周期特征,探

weixin_29549793的博客 689

从零搭建私有AI工作站:Ollama+DeepSeek+Dify本地化部署全攻略

本文提供了一份详尽的本地化AI工作站搭建指南,核心在于实现数据安全与离线可用。通过整合Ollama、DeepSeek与Dify三大工具,手把手教你完成从环境配置、模型部署到可视化应用构建的全过程,重点解决了Dify连接Ollama等关键步骤,助你打造一个完全自主可控的私有AI开发环境。

weixin_28396629的博客 311

Android 10 应用显示宽高比maxAspectRatio导致应用区域显示不全的问题

现象: 代码路径: android/frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java android/frameworks/base/core/java/android/content/pm/PackageParser.java 日志分析流程: adb shell dumpsys activity> D:\window.txt adb shell dumpsys window > D:\wi

wq892373445的博客 1972

【G4基础03】2.3 How to Specify Materials in the Detector

定义探测器材料

adelall的博客 489

4【Android 12】ConfigurationContainer类

这个成员变量平时接触的很少,这里试着分析一下,可能有分析不对的地方,因此本节内容请慎重参考。/**包含了从WindowContainer层级结构顶层传到此container的合并的override configuration。它和mFullConfiguration不同的地方在于,它起始于层级结构中最顶层的那个container的override configuration,而不是全局configuration。

ukynho的博客 3266

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用FAAFusion傅里叶角度对齐模块改进Neck部分)

2502_91881744的博客 315

【华为OD机试真题】6、数组去重和排序 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序

KJ.JK 3888

Adb常用命令

介绍Android系统常用的adb命令

AfinalStone的专栏 1万+

用 Joule 点燃 ABAP 开发者的舞台感:SAP BTP 上的 ABAP AI 能力实战解读

摘要:SAP推出的Joule for developers和ABAP AI功能为开发者提供了智能辅助工具,旨在优化ABAP开发流程。主要功能包括上下文感知的代码预测补全、代码解释、单元测试生成和开发问题实时解答。这些能力特别适合应对Cloud环境下ABAP开发的复杂约束,如Clean Core原则和受限语法范围。通过减少重复劳动和提升代码理解效率,该工具帮助开发者将注意力集中在业务逻辑而非技术细节上。随着企业加速向S/4HANA迁移,这些AI功能将在遗留代码改造和云适配中发挥更大作用,建议团队将其纳入工程体

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 297

Android CLI+Skill+Agent:构建可编程的AI终端能力网络

Android已从传统移动操作系统演进为可编程、可编排的分布式能力平台。其核心在于将系统原生能力(如相机、传感器、蓝牙)通过标准化接口抽象为可被外部调用的‘Skill’,再由AI Agent进行意图识别与任务编排,最终借助Android CLI实现低延迟、高权限的系统级控制。这种架构突破了App沙盒限制,使Python/Node.js等非Java环境能安全、稳定地调度Android硬件资源,广泛应用于智能座舱、工业巡检、教育硬件等边缘AI场景。本文聚焦Android CLI命令行接口与Skill技能封装两大

weixin_34112181的博客 395

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Citra 3DS 模拟器:5 步免费跑通 3DS 游戏

Citra 是一款免费开源的任天堂 3DS 模拟器,把掌机硬件整套搬到 PC 上,直接运行 3DS 游戏文件,给想重温老 3DS 游戏的玩家、没机器想尝鲜的人、需要测试自制程序的开发者用。它开源、三大平台通用、渲染分辨率可以往上提,键鼠和手柄都能接,主线开发虽已转向 Azahar,这个分支依然可用。 ## 🧭 从安装到跑起来:先核对三件事 动手前把条件对一遍: - 系统是 Windows

gitblog_00969的博客 233

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

adb常用指令合集

修改设置的原理主要是通过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。category --指定 category,比如 android.intent.category.APP_CONTACTS。action --指定 action,比如 android.intent.action.VIEW。修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行。

jxq1994的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android中的adb命令

2、在sdk目录下进入platform-tools或tools文件夹,如果文件夹下有adb.exe,就在地址栏输入cmd进入dos系统(p.s: 如果直接进dos,而且没有配置环境变量,也没有通过cd 命令切换到本文件夹下,就会报错: 'adb' 不是内部或外部命令,也不是可运行的程序或批处理文件。(2)查看当前栈顶的Activity :adb shell "dumpsys activity | grep mFocusedActivity"#查看Activity及Fragment。

m0_55406381的博客 1921

Android基础——ADB和串口调试

ADBADB是什么?二级目录三级目录 ADB是什么? 二级目录 三级目录

松仔Log的博客 1万+

Android 12 S WindowManager解读之从dumpsys window windows看window

();;();;();执行adb shell dumpsys window windows 如下:rootTaskId=1(根Taskid) mSession=Session{e98843e 2512:u0a10120} mClient=android.os.BinderProxy@64c3da9appop=NONEmcc?mcc?

weixin_41028555的博客 4860

车机CarLauncher的Activity多屏模式WindowingMode为WINDOWING_MODE_MULTI_WINDOW疑问解析

hi,粉丝朋友们!今天来给大家介绍一下再Activity中WindowMode相关的多窗口模式,这个模式相对平时比较少见,但是在分屏模式之自由窗口模式,等存在多个窗口场景就很关键了。这一部分确实不是普通模式的场景,而且每一种模式都是比较难的,今天来分析一下WINDOWING_MODE_MULTI_WINDOW模式的一个疑问。

liaosongmao1的专栏 1629

Android Studio查看布局层级的方法

使用Android Studio自带的Layout Inspector; 使用SDK工具包中的UI Automator Viewer; 使用dumpsys命令 2、使用SDK工具包中的UI Automator Viewer;

hnjcxy的博客 8838

项目中adb shell am 常见用法

am start C:\Users>adb shell am start usage: am [subcommand] [options] usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>] [--sampling INTERVAL] [-R COUNT] [-S] [--opengl-trace] [--user <USER_ID&gt...

峻峰飞阳的博客 blog.youkuaiyun.com/while0 1481

android开发浅谈之ActivityDisplay/ActivityStack/TaskRecord/ActivityRecord

ActivityDisplay/ActivityStack/TaskRecord/ActivityRecord,这几个关键的类,我以前一直搞不清其具体关系,看了android里面的Activity体系结构(1)_ActivityDisplay/ActivityStack/TaskRecord/ActivityRecord这篇文章后,才有了一点点明白,对应也做一个笔记。 整体关系图如下 我直接复制他的图片: 通过adb shell dumpsys activity activities 命令可以看到如下打印:

hfreeman2008的专栏 3383

Android adb shell am start命令总结

1.adb shell am start [options] <INTENT> 作用:启动一个activity adb shell am start com.android.settings/com.android.settings.Settings(com.android.settings/.Settings) 举例:adb shell am start -a com.e.u...

Jimmy的专栏 4万+

Android——adb命令大全

`dumpsys` 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 [Android 调试桥 (adb)]

star_nwe的博客 3770
上一篇: 学习Android Framework可以做什么?
下一篇: android studio调试debug 系统framework、systemserver方法-千里马带你学framework
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值