• 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
  • 相关阅读:
    Lua中的closure、泛型for
    Lua多重继承
    (转)C++ new详解
    C++重载操作符学习
    Lua中使用继承来组装新的环境
    DOS:变量嵌套和命令嵌套
    C++中成员的私有性
    ManualResetEvent 类
    在IIS中部署和注册WCF服务
    ArcGIS Server 10 地图缓存新特性
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/7405887.html
Copyright © 2020-2023  润新知