Android5.1更换开机logo(rk3288)

rk3288的开机logo主要有以下几个地方:

1.内核logo

在 kernel/arch/arm/boot/dts 找到使用的 dts 文件,再找到该文件包含的 lcd-xxx.dtsi ,与使用的屏有关,在 lcd-xxx.dtsi 中找到 fb 选项:

&fb {
	rockchip,disp-mode = ;
	rockchip,uboot-logo-on = <0>;
	rockchip,disp-policy = ;
};

中间的 uboot-logo-on 的值为0,即不启用logo,同时将 kernel/arch/arm/confings 中使用到的相关的配置文件中的选项:"CONFIG_LOGO = y " 屏蔽掉。如果想更改该logo,即将 uboot-logo-on 中的值改为1同时启用"CONFIG_LOGO",与logo有关的文件为以下几个:kernel/drivers/video/fbmem.c,kernel/drivers/video/logo/logo.c,默认的logo是 kernel/drivers/video/logo/logo_linux_clut224.ppm,可以更改该logo,然后单独编译内核烧录。

2.Android开机logo

Android系统启动init进程时的logo,与 initlogo.rle文件有关,源码路径:system/core/init/init.c,system/core/init/logo.c

3.Android开机默认动画

默认动画是明暗交替的"Android"字样,该资源文件在 frameworks/base/core/res/assets/images 中,如果想修改默认动画,更换即可。有兴趣可以研究源码,在 frameworks/base/cmds/bootanimation。

如果我们想自己定制logo,那我们可以按以下步骤进行:

(1)准备好我们需要的图片,格式为PNG,分别放入 part0 和 part1目录中

(2)编写logo描述文件:desc.txt


desc.txt中的格式为:

800 1280 30    //800*1280为屏幕分辨率,30是动画播放速度为30帧每秒
p 1 0 part0    //p的意思是play,第一个参数是循环次数(0为无限循环),第二个是循环间隔帧数
p 0 5 part1    //由上我们可知,表示的是part1中的图片以间隔5帧的速度,无限循环播放

(3)将上面三个文件打包成bootanimation.zip:在windows下面打包可能造成无法显示的问题,所以最好在linux下打包

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

(4)将 bootanimation.zip 放入out/target/product/xxx-rk3288/system/media 中,然后重新编译system.img。如果没有编译过源码,可以按照这篇中的步骤进行打包 。



你可能感兴趣的:(rockchip)