Android5.1开机LOGO与开机动画【转】
本文转载自:http://blog.csdn.net/u014770862/article/details/52624627
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
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
2.LOGO制作
1).使用png格式图片
pngtopnm linuxlogo.png > linuxlogo.pnm //linuxlogo.png为原始图片
pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
- 1
- 2
- 3
- 1
- 2
- 3
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
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
其他格式的图片也可以使用图片工具另存为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
Android5.1开机LOGO与开机动画【转】的更多相关文章
- 安卓开机logo和开机动画的几种实现方法
安卓4.2可用方法2-4,第一种方法未验证. 从理论上来说,android 有4个开机启动画面. 第一个应该是U-BOOT的启动画面,有些设备为了满足按动电源即有显示,在UBOOT里加了开机画面,实现 ...
- 安卓修改开机logo和开机动画的方法
第一种和第二种方法亲测可用,安卓版本是4.2和安卓5.1均可.第二种方法待验证 以下三种方法 Android 开机其实总共会出现3个画面: 1.第一个就是 linux 系统启动,出现Linux小企鹅画 ...
- DIY固件系列教程——实现开机LOGO三屏动画的完全替换【转】
本文转载自:http://blog.csdn.net/sdgaojian/article/details/9192433 本教程需要用到如下工具:1,7Z压缩工具2,AddCrc32效验工具3,raw ...
- 开机logo以及两种修改开机动画方法
Android开机画面总共有三屏 一.第一屏:开机logo 1.选张png格式的图片,在Linux任意下执行(安装工具): sudo apt-get install pnmtoplainpm 2.在所 ...
- 设置安卓开机动画、开机logo
我们要修改的是system>media文件夹下的bootanimation.zip(手机开机动画)这个文件 先来讲讲这个文件结构:该zip解压后得到两个文件, 第一个目录存放了开机时播放的图片( ...
- Android9.0 MTK 平板横屏方案修改(强制app横屏 + 开机logo/动画+关机充电横屏 + RecoveryUI 横屏)
文章较长建议先收藏再看 拆解步骤 1.app 强制横屏显示,无视 android:screenOrientation="portrait" 属性 2.屏幕触摸坐标修改为横屏 3.开 ...
- Android 系统开机logo的修改【转】
本文转载自:http://blog.csdn.net/yandongqiangZHRJ/article/details/8585273 看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送 ...
- Android开机logo修改方法 【转】
本文转载自:http://blog.csdn.net/qq258711519/article/details/7766303 一体机平台开机logo修改方法 1:修改Kernel中的Logo: 若是要 ...
- WinCE开机Logo的实现(USB下载图片到nandflash)
WinCE开机启动Logo使用Eboot读取NandFlash中的图片数据,然后显示的方式.对于开机logo的方式网友http://jazka.blog.51cto.com/809003/664131 ...
随机推荐
- 遍历WPF DataGrid单元格
using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Media; ...
- nodejs 中使用 mysql 实现 crud
首先要使用 mysql 就必须要安装 npm install mysql 然后封装 sql 函数 const mySql = require('mysql'); let connection ; le ...
- MyEclipse 连接Oracle数据库(初学者必看)
前言:刚接触Oracle数据库,便有一个需求,编写控制台程序,实现主人登录.数据库为Oracle.下面详细介绍一下MyEclipse 连接Oracle数据库. package DbHelp; im ...
- 关于vuex
希望初学者可以初步理解vuex的日志: 示意图: 一.图例: 1.Vue Components:Vue组件.HTML页面上,负责接收用户操作等交互行为,执行dispatch方法触发对应action进行 ...
- WPF动态折线图
此项目源码下载地址:https://github.com/lizhiqiang0204/WpfDynamicChart 效果图如下: 此项目把折线图制作成了一个控件,在主界面设置好参数直接调用即可,下 ...
- Python这些问题你会吗?
inal作用域的代码一定会被执行吗? 正常的情况下,finally作用域的代码一定会被执行的,不管是否发生异常.哪怕是调用了sys.exit函数,finally也是会被执行的,那怎么样才能让final ...
- centos6.5 安装Python3.6.0
首先安装python3.6可能使用的依赖 # yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel ...
- Linux 僵尸进程如何处理
Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态.例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止.如果子进 ...
- 【剑指Offer】1、二维数组中的查找
题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否 ...
- [NOIP模拟赛]b
组合数学+容斥原理 设f[i][j]表示第i个序列中的j的倍数的个数. 然后以j为gcd的贡献就是(π(f[i][j]+1) )-1 然后从大到小枚举j,删去j的倍数的贡献即可.