android - 如何在 AOSP 构建中包含自定义 splash.img
问题描述
我正在从 AOSP 源代码树构建一个 Android Nougat 版本。我有一个自定义启动屏幕图像,我正在使用 fastboot(下面的代码)闪烁,如果可能的话,我想将它包含在 AOSP 构建中。
fastboot erase splash
fastboot flash splash ./splash.img
我自己创建了启动图像,我已经用 fastboot 刷新了它,但我想将它包含在我的 AOSP 构建中。我已经进行了一些搜索,但找不到任何信息,我能找到的最接近的是有关更改内核中的 PPM 映像的信息(下面的链接)。
如果有必要,我也许可以完成这项工作,但如果我可以使用现有的 splash.img 文件,那将是理想的。此外,如果有办法将其包含在 OTA 更新中,但不包含在也适用于我的应用程序的构建中。
谢谢,
解决方案
开机画面显示有两个阶段: 开机启动动画
通常,splash不是AOSP的一部分,因为它取决于SOC供应商,不同的soc供应商如QCOM,联发科有不同的splash解决方案,因为它是由bootloader加载的(基本上是lk),在某些平台上也称为logo。它旨在在早期启动期间显示图片以改善用户体验。
启动动画是 AOSP 的一部分,二进制文件位于系统映像中,由 /system/bin/bootanimation 服务加载,可以包含动画和声音。
启动过程应该是这样的:
|引导程序| -> |飞溅/标志| -> |Linux 内核| -> |安卓原生| -> |启动动画|
我认为您正在谈论启动/徽标部分,因此您应该检查供应商源代码以了解如何将此图像构建放入正常构建中。如果您使用的是纯 AOSP 源代码,我更喜欢将您的预构建图像包含到您的构建系统中,因为启动图像不会经常更改。对于OTA部分,基本上这个分区是可以升级的,但是这真的取决于你的OTA方案。
推荐阅读
- javascript - 代理数组有一个与方法名同名的键
- amazon-web-services - 端口 80 和 443 关闭
- shell - 使用 awk 在输出中添加自定义列
- python - 尝试将 json 文件加载到扁平化的 pandas DataFrame 中
- bluez - 使用随机地址设置 BlueZ GATT 服务器?
- django - django 对值或函数值求和
- ios - 反转 CGRect - Swift
- javascript - 为什么变量仍然可以访问?
- javascript - getJSON - 如何打印结果,以及如何检索输入?
- reactjs - 在等待使用 ES7 语法的 API 调用时,使用 React setState 显示加载微调器的正确方法是什么?