獨孤碼農

毕生求一败而不可得 终埋剑于剑冢 诚寂寥难堪也

Android10系统架构和学习总纲

本文为Android10系统架构和学习总纲,会分类列出博主学习android10的所有博文,方便大家查阅

一.Android系统架构 Android系统架构分为五层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层,下图是一张官网经典的架构分层图 应用层 系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互,通常都是用Java进行开发的。 应用框架层(Java Framework) 应用框...

Android源码查看和下载

汇总一下android源码下载和在线查看的网站和方法

本文最后更新于 2021-07-25 更新内容:删除了访问不了的网站,更新网站截图,添加新的资源网站    学习研究android系统,最直接最好的方法就是阅读源码(Read The Fucking Source Code),本篇教程汇总一下能够查看android源码的网站和下载源码的方法 一 在线查看 https://source.android.com/source/ 首...

系统低内存的数据和行为特征

本文探讨下系统低内存时的一些数据和行为特征

前言 经常在分析稳定性anr之类的问题,很多同事看见lmk有关的日志就认为是lmk导致,但不一定和自己的应用Anr异常有关,故此集了下低内存的相关知识,会对分析anr问题分析是否和lmk相关有帮助。 Meminfo信息 最简单的方法是使用 Android 系统自带的 Dumpsys meminfo 工具,通过使用dumpsys adb shell dumpsys meminfo...

电源键无法亮灭屏问题分析总结

项目上添加双击亮屏功能后按power键概率不灭屏,在此记录下分析过程

前言 Power按键灭屏、 双击亮屏,本文阐述了power灭屏事件从上报到framework的处理到灭屏流程,对其他项目中存在的power亮灭屏问题有借鉴意义。 初步分析 此问题在user版本上报出,user版本日志较少且改问题复现概率极低,导致问题分析难度加大,在此前提背景下我们不妨先梳理一下power按键的灭屏代码流程 。 梳理代码得知power灭屏最终的keyev...

Android Monkey hang机问题分析总结

最近公司项目在monkey过程中出现大量的hang机重启问题,block项目进度,影响CF

前言 最近公司项目在monkey过程中出现大量的hang机重启问题,block项目进度,影响CF,领导要求重点攻关,在此记录下攻关分析过程 初步分析 从hang 机的DB发现是swap耗光导致,有camera的相关信息打印,此hang 机问题问题是kernel 一套踢狗机制,基本都是kernel 的相关log,一般是bsp同事入手分析,会较快的解决问题,如下是看到的DB log: ...

MTK NVRAM 学习总结

最近公司的MTK项目需求需要学习下NVRAM节点的知识,在此总结下学习的内容

前言 最近公司的MTK项目需求,需要学习下NVRAM节点的知识,在此总结下学习的内容,防止日后遗忘 NVRAM分区 Nvdata: 手机运行过程中读写的NVRAM都来自于该分区和Peotect_1/Peotect_2。该分区存储着普通的NV数据,包括IMEI,校准数据等等。 Peotect_1/Peotect_2: 也叫protect_f和protect_s分区,protect...

Android13开发者预览版发布

Android12还没适配完,android13首个预览版已悄然而至,来看看又有什么新特性吧

前言 2022年02月10日,Google 宣布 Android 13 首个预览版面向开发者开放,此版本重点聚焦隐私和安全、提供开发者生产力、应用兼容性,并保持与 OpenJDK 11 更新一致、提供主题图标、带来新的照片选择器等功能。 接下来,让我们一起来看看最新版本的 Android 13 到底有什么样的改变吧!本文转自谷歌开发者官方平台。 每天,全世界都有数十亿人使用 ...

展讯平台系统重启问题分析总结

本文总结一下展讯平台的异常重启问题的快速分析方法和一些关键日志

一、 User 版本 默认开启 sysdump 方法 因为展讯平台部分重启问题,同样的代码,userdebug 版本无法复现,User 版本 可以复现,所以默认才需要开启sysdump。 1.展讯平台user版本默认开启sysdump 方案 修改方案如下:device\sprd\xxxx\common\rootdir\ro...

Android SWT类问题分析总结

Android SWT(Software Watch Dog ) 主要用来监控SystemServer等重要线程/Service 的运行情况。如果发现系统阻塞会尝试重启系统,以保证恢复到正常状态

一、 SWT 重启问题简介 SWT(Software Watch Dog ) 主要用来监控SystemServer等重要线程/Service 的运行情况。如果发现其阻塞超过 60s ,看门狗进程就会把系统重启,进而保证系统可以恢复到正常状态。 判断阻塞的方法: 1.利用 Services 注册monitor 去Check 主要是: AMS、 Fore...

MTK平台系统重启问题分析总结

本文总结一下MTK平台的异常重启问题的快速分析方法和一些关键日志

一、MTK AEE 系统机制简介 1.MTK AEE 系统 AEE 是MTK平台自研,用于侦测Android手机系统异常重启的一套系统机制,当AEE系统侦测到异常后会生成 db 文件. 2.db 文件存储路径: /data/aee_exp或data/vendor/mtklog/aee_exp Android 8.0 之后由于系统安全机制导致db无法保存到MTK log中 user 版本 中...

Android12开机各阶段总结

最近公司启动android12的项目,新项目开机启动的问题比较多,在此记录下开机各个阶段的关键日志。

前言 之前对android10上的开机流程有过详细的分析学习,感兴趣的可以点击底部的链接学习,最近公司启动android12的项目,新项目开机启动的问题比较多,在此记录下开机各个阶段的关键日志,方便在分析问题的时候快速定位问题。 关键log 我们先用命令: adb logcat -b events|grep boot过滤出启动阶段的主要事件。可以看到关键log基本把开机的每一步都打印了出来 ...

一例未知KeyCode引发的问题案例

长按power键会有很大的概率不弹出关机,重启,紧急呼叫的选项窗口,今天我们来分析一下问题出在哪里

一 ,问题现象 长按power键会有很大的概率不弹出关机,重启,紧急呼叫的选项窗口,正常情况下应该是弹出选项窗口供用户进一步操作 拿到问题现场后,第一时间先把log拉出来看一下有没有有用的log,很不幸没有有用的log,找一台机器操作一下很快就复现了问题 ,接下来可以进一步分析log了。 二 ,问题分析 1279-3041/system_process D/WindowManager: ...