现在的位置: 首页 > 综合 > 正文

源码中修改开机画面及登录画面

2013年09月02日 ⁄ 综合 ⁄ 共 1470字 ⁄ 字号 评论关闭

整个开机画面分为两个部分:开机画面和登录画面

开机画面修改:
system\core\init\Init.h中有一宏定义:
#define INIT_IMAGE_FILE "/initlogo.rle"


system\core\init\Init.c中有如下代码段:

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);


读取/initlogo.rle(一张565 rle 压缩的图片),如果成功则在/dev/graphics/fb0显示Logo,如果失败则将/dev/tty0设为TEXT模式并打开/dev/tty0,输出文本“ANDROID”字样。


修改步骤:1.处理一张rle的图片,使用android编译好的工具rgb2565(out/host/linux-86/bin),命令 rgb2565 -rle <initlogo.raw> initlogo.rle。

              2.将这张图片打包到ramdisk.img 的根目录中。个人方法:在code下加入了vender文件夹,将initlogo.rle放入此文件夹,在generic.mk中加入
                          PRODUCT_COPY_FILES
:= \

                                         vendor/initloge.rle:root/initloge.rle

              3.编译源码即可。


登录画面修改:

Android
的系统登录动画类似于Windows系统的滚动条,是由前景和背景两张PNG图片组成,这两张图片存在于/system/framework /framework-res.apk文件当中。前景图片(android-logo-mask.png)上的Android文字部分镂空,背景图片(android-logo-shine.png)则是简单的纹理。系统登录时,前景图片在最上层显示,程序代码控制背景图片连续滚动,透过前景图片文字镂空部分滚动显示背景纹理,从而实现动画效果。代码地址已给出,大家自己修改吧。(此段非原创


相关代码:

\frameworks\base\cmds\bootanimation\BootAnimation.h

\frameworks\base\cmds\bootanimation\BootAnimation.cpp


\frameworks\base\core\res\assets\images\android-logo-mask.png

Android默认的前景图片,文字部分镂空,大小256×64

\frameworks\base\core\res\assets\images\android-logo-shine.png

Android默认的背景图片,有动感效果,大小512×64

抱歉!评论已关闭.