用图片工具编辑好想要的png之后,保存为logo.png
在logo.png所在命令下执行命令:
#使用ImageMagick自带的convert命令,进行raw格式转换
02 convert -depth 32 logo.png rgb:logo.raw
03
04 android自带的rgb2565工具,对raw文件进行rle565格式转换
05 $(SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle
06
07 然后将initlogo.rle拷贝到android系统根目录,也就是root目录底下
08 cp initlogo.rle root/
09
10 删除中间文件
11
rm -f logo.raw
在制作完 initlogo.rle 之后, 放入终端使用,发现第一次可以显示,第二次重启时又变成android的字符了,查看代码 system/core/init/init.c [load_565rle_image] --> logo.c 中发现源码在显示完毕initlogo.rle之后作了 unlink 操作, 而android 默认initlogo.rle 所在的system.img 是只读的,所以如果按照android 的标准形式作分区及其属性是没有问题, 但对于自定义的ya 或者 ubi形式的可读写的rootfs时就又问题了, 所以干脆注释unlink 代码吧
两行命令从png制作启动界面initlogo.rle
最新推荐文章于 2021-05-25 16:19:01 发布