自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 01. SystemUI 启动流程分析(AndroidO)

SystemUI 启动流程分析(AndroidO)文章目录SystemUI 启动流程分析(AndroidO)1 SystemUI 概述2 SystemUI 的启动2.1 启动时机2.2 SystemUIService 启动3 时序图1 SystemUI 概述“SystemUI 是 Android 为用户提供系统级别的信息显示与交互的一套UI组件”。SystemUI 源码位于 frameworks\base\packages\SystemUI 目录下,它以独立的 APK 形式运行在于系统中,像 Andr

2021-04-28 10:55:22 297 1

原创 02. SystemUI 系统状态栏 StatusBar 分析(AndroidO)

系统状态栏 StatusBar 分析(AndroidO)文章目录系统状态栏 StatusBar 分析(AndroidO)1 概述2 状态栏分析2.1 状态栏启动2.2 状态栏窗口创建2.2.1 加载状态栏控件树2.2.2 创建状态栏窗口2.3 状态栏控件树分析2.3.1 super_status_bar.xmlstatus_bar.xmlsystem_icons.xml2.3.2 status_bar_expanded.xmlqs_panel.xml2.4 状态栏下拉2.4.1 下拉状态2.4.2 下拉事

2021-04-28 10:45:48 507

原创 sf学习之 SurfaceControl 初始化

SurfaceControl 初始化流程分析

2024-03-30 21:55:08 956

原创 systrace 抓取

systrace 使用

2024-03-29 23:56:01 104

原创 Android init.rc 文件分析

Android init.rc 文件分析

2023-02-16 23:51:29 461

原创 Android init 进程的启动(Android 10)

Android Init 进程的启动(Android 10)

2023-02-16 23:31:09 279

原创 Android SystemServer进程的启动(Android 10)

Android SystemServer进程的启动

2023-02-16 00:34:45 165

原创 Android Zygote进程的启动

Android Zygote进程的启动

2023-02-16 00:33:37 108

原创 Android 预置应用overlay机制使用

Android 预置应用overlay机制使用

2023-02-13 09:43:35 456

原创 Android系统屏保功能开发(Android10)

Android系统屏保功能开发

2023-02-13 09:32:39 818

原创 Android 基于自由窗口实现小窗模式的分析(Android 10)

Android 基于自由窗口实现小窗模式的分析(Android 10)

2023-02-12 16:18:29 1925

原创 RK3399平台制作 ota升级差分包

RK3399 OTA 差分包制作

2023-02-11 17:09:06 246

原创 04. Notification 通知栏分析(AndroidO)

Notification 通知栏分析(AndroidO)1 概述通知栏是状态栏中比较常见的功能,通知栏主要用来表示一个事件,比如一条消息、一个后台任务执行进度等。当有通知到来时,在状态栏顶部显示相关信息图标,状态栏下拉后,可以看到通知栏相关信息,并且可以对通知栏中的消息项进行一些处理。2 通知栏分析2.1 通知的发送当需要向系统发送一条通知时,可以使用 NotificationManager 向通知栏添加一条通知,通知的实例创建使用的是 Notification,它用来描述了通知的所有详细信息。在

2023-02-08 01:51:40 132

原创 Android ViewPager + fragment 实现懒加载及原理解析

Android ViewPager + fragment 实现懒加载及原理解析

2023-02-08 01:28:27 210

原创 Android 遥控器按键适配

Android 遥控器按键适配

2023-02-03 10:00:22 630

原创 系统选择框ResolverActivity修改记录 (Android10)

系统选择框ResolverActivity修改记录 (Android10)

2023-01-30 10:01:08 178

原创 Android 系统应用overlay打包机制

Android 系统应用overlay打包机制修改记录

2023-01-30 09:42:48 287

原创 Launcher3 开发定制 (Android10)

Launcher3 开发定制,基于 android10

2023-01-30 09:36:57 663

原创 Android 开机动画启动、播放、退出流程(android 10)

Android 开机动画启动流程分析,基于 Android 10

2023-01-26 00:16:48 1106 2

原创 RK3568 自由窗口拖动流程 TODO

RK3568 自由窗口拖动流程 TODO

2022-10-17 10:11:56 114

原创 Framework 窗口添加流程分析2之 addWindow 流程

Android framework 窗口添加流程分析2之 addWindow 流程

2022-10-17 10:10:16 164

原创 Framework 窗口添加流程分析1之 ViewRootImpl 创建

Android framework WMS 窗口添加流程分析:ViewRootImpl的创建

2022-10-17 10:09:25 140

原创 framework 窗口动画缩放修改(Android 10)

framework 窗口动画缩放修改(Android 10)窗口缩放方法// frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.javafinal WindowHashMap mWindowMap = new WindowHashMap();public void performAnimationByHome(boolean enterScale) { Log.i("scale_w

2022-04-22 16:48:15 2524

原创 WallpaperToken 窗口动画分析(Android 10)

WallpaperToken 窗口动画分析// frameworks/base/services/core/java/com/android/server/wm/AppTransitionController.javaprivate void handleNonAppWindowsInTransition(int transit, int flags) { if (transit == TRANSIT_KEYGUARD_GOING_AWAY) { if ((flags &

2022-04-20 14:40:44 2220 2

原创 Android 集成 NanoHTTPD 服务器

Android 集成 NanoHTTPD 服务器https://github.com/NanoHttpdActivity.javaprivate void initRegister() { IntentFilter filters = new IntentFilter(); filters.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(networkReceiver, filters);

2022-03-25 10:37:18 3758

原创 二维码生成

/*zxing*/implementation 'com.google.zxing:core:3.4.0'package com.kgzn.smartalbum.net.qrcode;import android.graphics.Bitmap;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;impo

2022-03-25 10:27:27 70

原创 Android 系统自由窗口相关修改(AndroidQ)

自由窗口相关修改 AndroidQ1 打开自由窗口相关配置// frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.javapublic void retrieveSettings(ContentResolver resolver) { // wugm: enable free form setting Settings.Global.putInt(resolver, D

2022-03-12 16:18:32 3338 5

原创 Git 命令记录

Git 命令记录基本操作# 把当前目录变成Git可以管理的仓库git init# 把文件添加到仓库git add .readme.txt# 把文件提交到仓库git commit -m "wrote a readme file"# 提交到仓库git push# 从仓库拉取git pull# 查看修改哪些文件修改git status .# 查看文件内容差异git diff .git log# 查看当前目录从最近到最远的提交历史git log# 查看提交历史,单行显示记录

2022-03-12 15:55:39 102

原创 Android framework 修改 selinux 权限 (Android 11)

Android framework 修改 selinux 权限 (Android 11)1 如何判断当前 selinux 权限# Enforcing:开启、Permissive:关闭$ getenforce2 临时关闭 selinux 权限# 关闭$ setenforce 0# 打开$ setenforce 13 永久关闭 selinux 权限//system/core/init/selinux.cppvoid SelinuxInitialize() { LOG(INFO)

2022-03-11 18:04:26 592

原创 Android系统生成jks签名

Android系统生成jks签名cd build/target/product/security# 生成 platform.pemopenssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem# 生成platform.p12文件,并设置别名(3568)和密码(ktc123)openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey pl

2022-03-11 18:02:50 1463

原创 Broadcast 分析之 registerReceiver

Broadcast 分析之 registerReceiver()注册广播接收者// frameworks/base/core/java/android/content/Context.javapublic abstract Intent registerReceiver(@Nullable BroadcastReceiver receiver,IntentFilter filter);最后会调用到 ContextImpl// frameworks/base/core/java/android/a

2022-03-11 18:00:40 256

原创 Broadcast 分析之 sendBroadcast

Broadcast 分析之 sendBroadcast// frameworks/base/core/java/android/content/ContextWrapper.java@Overridepublic void sendBroadcast(Intent intent) { mBase.sendBroadcast(intent);}// frameworks/base/core/java/android/content/Context.javapublic abstract

2022-03-11 17:58:59 146

原创 Android 系统多窗口模式实现

Android 系统多窗口模式实现参考链接https://blog.csdn.net/qq_34211365/article/details/121465211https://www.cnblogs.com/wzjhoutai/p/6873790.htmlhttps://blog.csdn.net/m0_37602827/category_10620827.htmlhttps://www.jianshu.com/p/cdbbeb105a661 窗口概念Android 系统中的窗体是屏幕上的一块

2022-03-11 17:58:03 630

原创 Framework基于WMS添加独立窗口

Framework基于WMS添加独立窗口参考链接https://www.cnblogs.com/wzjhoutai/p/6873790.htmlhttps://www.cnblogs.com/zhaojietec/p/4975840.html添加三个文件SampleWindow.java 主程序源码。Android.mk 编译脚本。sw.sh 启动器。//frameworks/base/services/core/java/com/android/server/wm/samplewindow

2022-03-11 17:57:18 566

原创 Framework 窗口添加流程分析2之 addWindow 流程

Framework 窗口添加流程分析2之 addWindow 流程以下是 WindowManagerService.addWindow() 方法的一些大致流程:添加窗口的权限检查Display、DisplayContent 的检查及创建处理一些要窗口类型的判断及 WindowToken 的判断创建创建 WindowState ,传入 wms、IWindow、WindowToken、parentWindow、LayoutParams等参数在 DisplayPolicy 处理窗口的一些策略,如焦点

2022-03-11 17:56:22 350

原创 Framework 窗口添加流程分析1之 ViewRootImpl 创建

Framework 窗口添加流程分析1之 ViewRootImpl 创建ViewRootImpl 与窗口添加相关流程ActivityThread.handleResumeActivity()// 第一部分析: 执行resumed流程,回调 Activity.onResume()-> ActivityThread.performResumeActivity()​ -> Activity.performResume()​ -> Activity.dispatchActivity

2022-03-11 17:55:37 130

原创 (1) Android framework 关闭 Selinux 权限

01. Android framework 修改 selinux 权限 (Android 11)1 如何判断当前 selinux 权限# Enforcing:开启、Permissive:关闭$ getenforce2 临时关闭 selinux 权限# 关闭$ setenforce 0# 打开$ setenforce 13 永久关闭 selinux 权限//system/core/init/selinux.cppvoid SelinuxInitialize() { LOG(I

2022-03-08 17:45:50 311

原创 Android 系统多窗口模式实现

Android 系统多窗口模式实现参考链接https://blog.csdn.net/qq_34211365/article/details/121465211https://www.cnblogs.com/wzjhoutai/p/6873790.htmlhttps://blog.csdn.net/m0_37602827/category_10620827.htmlhttps://www.jianshu.com/p/cdbbeb105a661 窗口概念Android 系统中的窗体是屏幕上的一块

2022-03-03 08:55:09 1072

原创 Android 源码下载、编译填坑

Android 源码编译填坑(Ubuntu20.04.1)本次源码下载编译使用了 Ubuntu20.04.1 版本的虚拟机,可自行安装。1 源码下载源码下载阶段十分漫长,需要耐心等待。1.1 git、repo配置sudo apt-get install gitgit config --global user.name "your name"git config --global user.email "[email protected]"git clone https://aosp.tuna.tsin

2021-04-30 17:00:53 680 2

原创 05. 系统截屏分析(AndroidO)

系统截屏分析(AndroidO)1 概述848方案系统自带的截屏功能主要两种,一种是截取全屏,一种是区域截屏。两种触发方式都是在 PhoneWindowManager 监听按键使用 Handler 来分发消息进行处理。截屏功能的具体实现主要在 SystemUI,通过接收消息调用截屏服务 TakeScreenshotService 来对两种方式进行,具体的功能全部逻辑在 GlobalScreenshot 这个类中,主要做了几件事:加载截屏布局页面初始化相关功能的handler、listener截

2021-04-28 20:13:41 263 2

Android 系统 WMS 模块相关流程分析.xmind

Android 系统 WMS 模块相关流程分析.xmind

2022-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除