android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于android LOGO显示部分。此博客所讲之处若有错误,敬请原谅,谢谢!
开机LOGO一般有两种:静态的和动态的,Android开机时共有三种LOGO(5.1之前可能算是4种吧)。
1. uboot显示
2. kernel显示
3. android开机动画
一般情况下将前两幅图做成一样的,第三个就是开机动画部分。(uboot显示logo一般可以不做,加快android启动速度)。

一、kernel显示

1.内核支持
首先在内核中配置支持开机LOGO显示:

Graphics support  ------>[*] Bootup logo ----->--- Bootup logo[*] Standard black and white Linux logo[*] Standard 16-color Linux logo[*] Standard 224-color Linux logo

2.LOGO制作
1).使用png格式图片

pngtopnm linuxlogo.png > linuxlogo.pnm  //linuxlogo.png为原始图片
pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm

2).使用bmp格式图片

convert logo.bmp linuxlogo.png     //logo.bmp为原始图片
pngtopnm linuxlogo.png > linuxlogo.pnm
pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm

其他格式的图片也可以使用图片工具另存为png格式的图片,再按照上述代码执行即可。也可以将上述代码写成脚本,这样使用更方便。把制作好的logo_linux_clut224.ppm拷贝到内核drivers/video/logo/目录下面,删除文件夹下的logo_linux_clut224.o和logo_linux_clut224.c(如果有着两个文件就删除),然后编译烧录即可。

二、Android 开机动画

Android5.1的android字样貌似是不能单独更改的,可以用开机动画替换,和5.1之前的版本相比在init.c代码中做了一些改动:

开机画面显示的重点函数console_init_action()并没有调用load_565rle_image(INIT_image_FILE),即在调用到console_init_action()函数后,指定的开机画面为ANDROID字样。
load_565rle_image()函数也是不存在的。这就是android 5.1和之前不同之处,这也就说明了android5.1后,"android开机LOGO"不能替换了,只能通过替换开机动画来达到效果。将开机动画替换后,ANDROID字样也随之改变,因此通过直接更换开机动画来达到目的即可。
开机动画的制作:bootanimation.zip
将该文件放置在/system/media/目录下,系统启动时会自动加载该目录下的bootanimation.zip。bootanimation.zip压缩包主要由这几部分组成:

其中desc.txt的作用就是指导系统如何去执行开机动画,desc.txt编写规范:例如开机需要用到两个文件夹part1和part2,在系统启动时,会首先将part1里面的内容播放一遍,再循环播放part2里面的内容,直到要进入launch界面时停止。示例desc.txt内容如下:

1080 1920代表了屏幕的分辨率,22表示22帧每秒
p 1 0 part1 :p就是play。1是播放一次,0是无限次。0代表阶段间隔帧数为0,也就是帧动画形式播放图片。part1指定了要播放的第一个文件夹为part1(也可以取别的名称,做相应修改即可)
p 0 0 part2:第一个0表示循环播放。第二个0表示每张图片间隔帧数为0(和上面指令一样)。part2表示要循环播放的文件夹

将制作好的文件打包成bootanimation.zip即可,注意:必须是zip格式,且包的大小最好不要超过3M。然后放入/system/media/目录下即可。

最近在制作开机动画过程中发现添加开机动画后其一直不能显示,经过千辛万苦的寻找最终得出如下结论:
开机动画zip的压缩尽量在linux环境下进行,在windows或者ubuntu的UI界面下压缩 bootanimation.zip可能会造成开机动画不能显示,在linux下,进入素材目录,执行压缩命令:

zip -Z store bootanimation.zip part0/*.png part1/*.png desc.txt

Windows下打包ZIP也需要进入素材目录。例如:选中part0,part1,desc.txt三个文件,右键选择"添加到压缩文件",选择"ZIP"压缩,“存储”模式即可。

注意:
desc.txt文件编辑后一定要记得换行,即敲回车键!!!让光标切换到空白一行去,要不然第二段的动画无法解析会黑屏。示例如下图:

Android5.1开机LOGO与开机动画相关推荐

  1. Android系统定制开机logo和开机动画

    定制开机logo和开机动画 开机logo 开机动画 bootanimation.zip 生成zip文件 添加新的开机动画 开机logo MTK ASOP中lk阶段的logo是开机后的第一个界面,也被称 ...

  2. Android 8.0 开机动画,RK3326 android10.0(Q) 开机logo+开关机动画替换

    RK3326 android10.0(Q) 开机logo+开关机动画替换 2020年08月14日 | 萬仟网移动技术 | 我要评论 开机logouboot和kernel阶段的logo分别为开机显示的第 ...

  3. Rockchip3066 修改开机 LOGO 和开机动画

    Rockchip3066 修改开机 LOGO 和 开机动画: 一.主要使用的工具是:FirmwareTool_Release_v3.3 文件夹,RK30DevelopTool 文件夹,还有 RKFac ...

  4. Android修改开机Logo和开机动画

    做车机一般都会修改开机Logo和开机动画,下面只是记录我项目中修改开机Logo和开机动画的方法,仅供参考: 关于开机logo的修改,是将一张分辨率合适的名字必须为boot_logo.bmp格式的位深是 ...

  5. rk3399 u-boot修改开机logo以及开机动画和开机视频

    首先分析了一下uboot启动流程中的一部分代码,如下 第一部分:开机logo(下面代码分析排版有点乱,可以忽略) 1. ​ board_late_init //rk33xx.cboard/rockch ...

  6. Android 更换开机logo和开机动画

    Android版本:8.1 一丶开机logo的替换 开机logo有kernel logo和uboot logo两个 如何找到对应的图片? 确认当前项目的设备使用的是哪种尺寸的logo 一般在对应项目的 ...

  7. 更改高通平台开机logo和开机动画以及fastboot界面显示

    开机logo 首先修改开机logo要从哪里入手呢?先看看源码 void display_image_on_screen()2 {3 struct fbimage default_fbimg, *fbi ...

  8. DIY固件系列教程——实现开机LOGO三屏动画的完全替换【转】

    本文转载自:http://blog.csdn.net/sdgaojian/article/details/9192433 本教程需要用到如下工具: 1,7Z压缩工具 2,AddCrc32效验工具 3, ...

  9. RK3326 android10.0(Q) 开机logo+开关机动画替换

    开机logo uboot和kernel阶段的logo分别为开机显示的第一张和第二张logo图片, uboot logo源文件: kernel/logo.bmp kernel logo源文件: kern ...

  10. 安卓开机logo和开机动画的几种实现方法

    安卓4.2可用方法2-4,第一种方法未验证. 从理论上来说,android 有4个开机启动画面. 第一个应该是U-BOOT的启动画面,有些设备为了满足按动电源即有显示,在UBOOT里加了开机画面,实现 ...

最新文章

  1. linux密码时效更改方法
  2. 青龙羊毛——内容改版
  3. 如何在程序中生成崩溃转储dump文件以及如何分析dump
  4. js插件 ajax跨域,ajax跨域问题
  5. [转载MSDN]IIS 7.0中的Live Smooth Streaming -入门
  6. 【BZOJ1999】树网的核,求树的直径+单调队列乱搞
  7. linux sudo使用和sudoers配置详解
  8. 京东也准备向社区团购进发了?
  9. WWDC心愿单:新版OS X或将有这些变化
  10. pytorch ResNet结构代码实现
  11. JNI在C和C++的env语法
  12. [转]C# 3.0入门系列(二)
  13. 跳一跳小游戏刷分解读
  14. 单细胞多组学联合应用
  15. 山西工商学院计算机二级网址,2021年山西工商学院教务处登录入口
  16. 大数据在快狗打车中的应用与实践
  17. SAP中会计凭证数据表关系的简单验证
  18. JDK动态代理(通俗易懂,小白首选)
  19. 链表和动态申请内存空间
  20. 来认识一下四大主流接口VGA、DVI、HDMI、DP基础知识详解

热门文章

  1. angular使用高德地图
  2. python解释器中help的用法
  3. 记者求证北京将禁止外地车和外地人员从事网约车传闻
  4. 从技术走向管理——李元芳履职记
  5. 房地产开发建设项目管理(全程房地产典范企业案例)
  6. 人脸对齐实现“平均脸”制作
  7. 自媒体必死 大家不要被马化腾忽悠了
  8. amoeba mysql proxy_mysql-proxy和amoeba 分别实现Mariadb读写分离
  9. amoeba mysql_详解如何利用amoeba(变形虫)实现mysql数据库读写分离
  10. docker gitlab 初始密码查看