开机logo以及两种修改开机动画方法
Posted 努力学习的蛋蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开机logo以及两种修改开机动画方法相关的知识,希望对你有一定的参考价值。
android开机画面总共有三屏
一、第一屏:开机logo
1、选张png格式的图片,在Linux任意下执行(安装工具):
- sudo apt-get install pnmtoplainpm
2、在所要定制logo的pngtopnm logo.png目录执行(转换成pnm格式):
- pngtopnm logo.png > logo_linux.pnm
3、再执行(转化成224的pnm图片):
- pnmquant 224 logo_linux.pnm > logo_linux_clut224_formal.pnm
4、执行(转换成ppm格式):
- pnmtoplainpnm logo_linux_clut224_formal.pnm > logo_linux_clut224.ppm
5、/kernel/drivers/video/logo/logo_linux_clut224.ppm是默认的启动Logo图片,把自己的ogo_linux_clut224.ppm替换这个文件,同时删除logo_linux_clut224.c logo_linux_clut224.o文件(如果存在) 。
6、进入kernel目录重新编译内核
- cd kernel
- make kernel.img
二、第二屏:Android字样
- if( load_565rle_image(INIT_IMAGE_FILE) ) {
- fd = open("/dev/tty0", O_WRONLY);
- if (fd >= 0) {
- const char *msg;
- msg = "\n"
- "\n"
- "\n"
- "\n"
- "\n"
- "\n"
- "\n" // console is 40 cols x 30 lines
- "\n"
- "\n"
- "\n"
- "\n"
- "\n"
- "\n"
- "\n"
- " A N D R O I D ";
- write(fd, msg, strlen(msg));
- close(fd);
- }
- } :
- #define INIT_IMAGE_FILE "/initlogo.rle"
- int load_565rle_image( char *file_name );
三、第三屏:开机动画
- bool BootAnimation::android()
- {
- initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");
- initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");
- }
- #define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"
- #define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
- #define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
示例如下:
- 480 800 15
- p 1 0 part0
- p 0 0 part1
- 480--width of the image, 800--height of the image, 15--frames of second
- p 1, display one time
- p 0, display recycling till handset power on finished
你可以制作自己的bootanimation.zip文件放置在合适的目录下,这样可以代替默认的开机界面:这里说的合适的目录就是上面的宏定义,大家都懂^_^!怎么制作bootanimation.zip文件呢?和上面一样创建两个目录和一个文件,然后使用软件或者是命令行大包即可
- zip -r -0 bootanimation.zip part0 part1 desc.txt
至此,自定义开机画面就完成了!
(1)、如果只要替换原动画的话流程如下:
1、编译成功后在android源码根目录生成out目录
2、修改android\out\target\product\sdkDemo\system\framework目录下的framework-res.apk
用winrar格式打开,替换assets\images里的2张图片即可
(2)、如果要完全自己制作开机动画的话,流程如下:
1、准备好要制作的图片放在指定文件夹内(我的是android1、android2两个目录,里面是若干png格式图片)
2、编写desc.txt文件,指定动画参数(我的配置是:1366 768 9p 1 0 android1p 0 0 android2)
3、在android1、android2、desc.txt所在目录执行:
- zip -0 bootanimation.zip android1/*png android2/*png desc.txt
4、将bootanimation.zip拷贝到自定义media目录下,修改自己的makefile文件,添加以下类似代码:
- PRODUCT_COPY_FILES += \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/media,system/media)
5、重新编译
以上是关于开机logo以及两种修改开机动画方法的主要内容,如果未能解决你的问题,请参考以下文章
Android源码发开记录-修改开机logo启动页、开机动画