南通网站开发公司,响应式网站建设系统,文章网站的一级二级怎么做,电子商务网站建设管理答案#x1f4e2; 1. 职业规划篇 来聊聊安卓职业规划#xff1f;整机开发大专能做么#xff1f; #x1f4e2; 2.基础篇 基础篇.前言 基础篇.编译环境搭建 基础篇.源码目录简介 基础篇.系统 mk_bp 讲解 基础篇.开机动画定制 基础篇.定制桌面壁纸、导航方式 基础篇.系统属性、ap… 1. 职业规划篇 来聊聊安卓职业规划整机开发大专能做么 2.基础篇 基础篇.前言 基础篇.编译环境搭建 基础篇.源码目录简介 基础篇.系统 mk_bp 讲解 基础篇.开机动画定制 基础篇.定制桌面壁纸、导航方式 基础篇.系统属性、api 使用 基础篇.名称修改、名词介绍 基础篇.用 bugreport 带你看 Crash 和 ANR 基础篇.Provision 源码分析 3. 系统应用篇 系统应用篇.开机向导制作一 系统应用篇.开机向导制作二 系统应用篇.Settings 导航切换分析 系统应用篇.开机向导导航切换一 系统应用篇.开机向导导航切换二 系统应用篇.gms 制作集成 系统应用篇.开机向导适配 GMS 系统应用篇.Launcher3 结构剖析一 系统应用篇.Launcher3 结构剖析二 系统应用篇.Launcher3 结构剖析三 系统应用篇.Launcher3 图标加载流程一 系统应用篇.Launcher3 图标加载流程二 系统应用篇.Launcher3 桌面布局定制 系统应用篇.解密 Partner、google PAI 机制 系统应用篇.Partner 机制预制壁纸、默认布局 系统应用篇.Launcher 双排 Hotseat 定制一 系统应用篇.Launcher 双排 Hotseat 定制二 系统应用篇.Launcher 双排 Hotseat 定制三 系统应用篇.Launcher Taskbar 简介以及调出 系统应用篇.SystemUI 篇_用工具教会你看布局、进程 系统应用篇.SystemUI 结构讲解一 系统应用篇.SystemUI 结构讲解二 系统应用篇.SystemUI 的启动流程 系统应用篇.SystemUI 导航栏创建一 系统应用篇.SystemUI 导航栏创建二 系统应用篇.SystemUI 自定义导航按键 系统应用篇.SystemUI 快捷面板下拉流程 系统应用篇.SystemUI 定制禁用锁屏下拉通知栏 系统应用篇.SystemUI 通知注册流程 系统应用篇.SystemUI 通知发送流程 4. 系统篇 系统篇.SystemServer 篇_应用与系统进程间关系 系统篇.SystemServer 简介、自定义 Service 服务一 系统篇.SystemServer 简介、自定义 Service 服务二 系统篇.SystemServer 简介、自定义 Service 服务三 系统篇.SystemServer 简介、自定义 Service 服务四 系统篇.SELinux 问题解决套路一 系统篇.SELinux 问题解决套路二 系统篇.ActivityManagerService 简介 系统篇.WindowManagerService 简介一 系统篇.WindowManagerService 简介二 系统篇.PackageManagerService 简介一 系统篇.PackageManagerService 简介二 系统篇.FW 实战 - Letterbox 定制应用方向一 系统篇.FW 实战 - Letterbox 定制应用方向二 系统篇.分屏流程一 系统篇.分屏流程二 5. 性能篇 省低内存优化 性能篇 (省). 低内存查杀机制 性能篇 (省).SystemServer 与 LMK 的 socket 通信 性能篇 (省). 内核进程 LMKD 性能篇 (省). 内存分析 性能篇 (省). 内存泄漏定位与解决 稳稳定性优化 性能篇 (稳).WatchDog 检测机制一 性能篇 (稳).WatchDog 检测机制二 性能篇 (稳). 深入 Crash 捕获器流程一 性能篇 (稳). 深入 Crash 捕获器流程二 性能篇 (稳). 深入炸弹 ANR 流程一 性能篇 (稳). 深入炸弹 ANR 流程二 快开机优化 性能篇 (快). 开机耗时分析 性能篇 (快). 开机耗时优化 性能篇.实战优化方案分享
framework交流答疑:251662478
如何通过 bugreport 分析 Android 系统日志 在 Android 整机开发 系统调试 中bugreport 是最常用的日志分析工具之一。它包含了系统运行的各种关键日志包括 main.log、event.log、ANR、Crash 等。本文将手把手教你如何从 bugreport 中找出关键信息 1. 获取 bugreport 在 Android 设备 上使用 ADB 获取 bugreport
adb bugreport bugreport.zip或者
adb shell bugreport bugreport.txt如果是 Android 7.0 以上会生成 bugreport.zip解压后包含 bugreport.txt完整日志 FS文件系统信息 TOMBSTONES崩溃信息 ANR应用无响应日志 2. main.log主日志 main.log 主要记录 系统组件 应用的运行状态包含 ✅ 应用启动 / 退出 ✅ Service 启动 / 绑定 / 解绑 ✅ Activity 生命周期onCreate、onResume、onDestroy ✅ 重要的系统信息 错误日志 关键搜索词
am_proc_start # 进程启动
am_proc_died # 进程结束
am_activity_launch_time # Activity 启动耗时
am_crash # APP 崩溃
am_anr # APP ANR示例
02-05 12:45:21.123 1000 1850 1982 I am_proc_start: [0,18982,10034,com.android.settings,activity]解析 com.android.settings 进程PID18982启动成功。 3. event.log系统事件日志 event.log 主要记录 系统关键事件例如 ✅ 应用前后台切换 ✅ 屏幕解锁 / 休眠 ✅ WMS窗口管理事件 关键搜索词
wm_task_moved # Activity 切换
screen_toggled # 屏幕开关示例
02-05 13:05:33.123 1000 1850 1982 I screen_toggled: 1解析 screen_toggled: 1 表示 屏幕被点亮0 表示 息屏。 4. ANRApplication Not Responding ANR应用无响应 发生在 ✅ 主线程阻塞耗时任务没放到子线程 ✅ 输入事件InputDispatch超时 ✅ Service 绑定 / 解绑超时 关键搜索词
am_anr # 查找所有 ANR 事件示例
02-05 14:12:45.987 1000 1850 1982 I am_anr: [12345,com.example.app,InputDispatching Timeout]解析 12345 进程 ID com.example.app 发生 ANR 的应用 InputDispatching Timeout 由于 主线程卡住 导致 ANR 如何分析 ANR 1️⃣ 搜索 “ANR in” 找到完整 ANR 堆栈日志 2️⃣ 查看 “main.log” 是否有 “InputDispatch Timeout” 3️⃣ 检查 “event.log” 看看屏幕操作记录 5. Crash应用崩溃 Crash崩溃 主要由于 ✅ 空指针异常NullPointerException ✅ 数组越界ArrayIndexOutOfBoundsException ✅ ANR 之后的强制杀进程 关键搜索词
am_crash # APP 崩溃
FATAL EXCEPTION # 关键错误示例
02-05 14:39:55.321 1000 1850 1982 I am_crash: [12345,1000,com.example.app,java.lang.NullPointerException,Attempt to invoke virtual method java.lang.String]解析 12345 进程 ID com.example.app 崩溃的应用 NullPointerException 空指针异常 6. 如何快速定位问题 快速分析思路 1️⃣ 应用崩溃Crash 搜 am_crash 找到崩溃日志 查看 FATAL EXCEPTION 详细堆栈 2️⃣ 应用卡死ANR 搜 am_anr 找到 ANR 发生时间 搜 InputDispatching Timeout 确认是否是主线程卡住 3️⃣ 应用启动慢 搜 am_proc_start 找到进程启动时间 搜 am_activity_launch_time 查看 Activity 启动耗时 4️⃣ 系统 BUG / 设备异常 搜 system_server crash 找到 SystemServer 崩溃 搜 tombstone 查找 native 崩溃C 代码问题 总结 通过 bugreport我们可以快速分析 应用崩溃Crash、ANR无响应、系统事件event.log快速定位 Android 系统的问题。希望这篇文章能帮到你 你在调试 bugreport 过程中遇到哪些问题欢迎留言讨论