AOSP源码隐藏状态栏
AOSP源码 android-10 r41 隐藏状态栏
文章目录
- AOSP源码 android-10 r41 隐藏状态栏
- 第一章 准备工作
- 第01节 阅读源码
- 第02节 核心代码
- 第二章 编译运行
- 第01节 编译源代码
- 第02节 推入到设备
- 第03节 运行的效果
- 第三章 简易源码阅读
- 第01节 进入源码分支
- 第02节 找到指定代码
- 第03节 源码其他操作
第一章 准备工作
第01节 阅读源码
下面地址,需要(科学上网,才可以阅读)
源码阅读地址
https://cs.android.com/可以查看系统状态栏的代码
https://cs.android.com/android/platform/superproject/+/android-10.0.0_r41:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java?hl=zh-cn第02节 核心代码
在状态栏com.android.systemui.statusbar.phone.StatusBar.java代码的第837 行,初始化 状态栏的根布局。
当初始化根布局之后,增加一个隐藏状态栏视图的方法,即可以隐藏掉状态栏
第二章 编译运行
第01节 编译源代码
在源代码下载的根目录当中,执行下面的命令
sourcebuild/envsetup.sh# 选择你的淡斑或者模拟器目标(例如: lunch aosp_x86_64-eng )lunch单独编译SystemUI模块
使用mmm命令,单独编译指定目录下的模块
mmm frameworks/base/packages/SystemUI提示: 编译成功之后,终端会打印输出路径,Android 10 的 SystemUI 路径编译出来的结果通常是一个优化后的 APK
他一般位于out/target/product/<你的机型>/system/product/priv-app/SystemUI/SystemUI.apk
我当前编译之后的路径
out/target/product/generic_x86_64/system/product/priv-app/SystemUI/SystemUI.apk第02节 推入到设备
将编译之后的 APK,放入手机、模拟器
确保我的设备 手机或者模拟器已经连接 (adb devices可见) 并且是userdebug或者eng版本
执行下面的命令
# 获取 root 权限adb root# 取消设备完整性校验,仅用于学习研究中使用,正式场合需要其他操作adb disable-verity# 挂载系统分区为可读可写adb remount# 将最新编译的 APK 推送到系统目录中, 覆盖原版adb push out/target/product/generic_x86_64/system/product/priv-app/SystemUI/SystemUI.apk /product/priv-app/SystemUI/SystemUI.apk# 修改权限(防止 SELinux 因为安全策略拦截导致的 SystemUI 被拦截, 引发 SystemUI 无法加载、设备黑屏、卡死开机动画)adb shellchmod644/product/priv-app/SystemUI/SystemUI.apk# 清除缓存并且重启 SystemUI 进程adb shellpkill-fcom.android.systemui第03节 运行的效果
第三章 简易源码阅读
第01节 进入源码分支
打开官方的源码搜索网站,进行搜索需要的源码
输入之后的结果
第一步的搜索,展示的效果
选择你想要查找的分支
当然,你也可以在浏览器地址栏当中,直接输入地址
https://cs.android.com/android/platform/superproject/+/android-10.0.0_r41:也可以直接,进入到指定的分支当中。
第02节 找到指定代码
源代码的根目录 (需要重点关注的三个文件夹)
现在,我查找,需要隐藏的状态栏的代码,我提前知晓了 当前代码的路径:
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java有人问: 我咋知晓的是这个路径?
你可以问问 AI: 系统的SystemUI 状态栏 底层源码代码在 android10 r41 分支中,代码在什么路径?
那么后续只需要,按照上面的路径,点击进入即可。
我们先找到指定的目录
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone
下面就是这个目录下面的内容
点击上面 红框对应的类文件即可。
可以找到我前面修改代码的位置 837行
第03节 源码其他操作
查看类的大纲视图
拓展的操作
