关于修改android开机界面的文章收集


文章一

这一系列的文章将深入框架、系统底层,包含Framework/OS源码阅读、ROM修改。这一篇先从最简单的说起吧,准备写一下开机画面的修改。

 

一般地,Android开机画面分为两个:第一启动画面、第二阶段启动画面。第一启动画面需要在boot.img里修改,这里说的是在Framework rom里修改的第二阶段启动画面的步骤:

 

1.  取得手机root权限

2.  安装R.E管理器,需使用root权限挂在/system为读写状态。

3.  进入/system/media目录,替换或者添加bootanimation.zip包。

4.  bootanimation.zip包中默认含 part1、 part2目录 和desc.txt文件,desc.txt描述了动画的频率和使用的图片目录的次序。动画是见过每一帧做成png图片,然后根据定义的帧数循环或者一次播放。

5.  根据Android手机型号的不同,不一定都是在/system/media/bootanimation.zip位置、有些也会先读取data/local/bootanimation.zip,或者其他位置,如HTC的Android手机可能在/system/customize/resource,这是由系统定制所定义的。

6. 原来的 /system/media/bootanimation.zip 可能因为权限问题无法改名或覆盖,注意需在S-OFF状态下,在pc的命令行里执行:
adb shell
su
cd /system/media/
chmod 777 bootanimation
然后通过R.E管理器替换,就可以了。

decs.txt 参数详解:
480 480 30  
p 1 0 part0  
p 0 0 part1

第一行:480*480的分辨率  每秒30帧的播放速度,即1秒钟播放30张图片

第二行:p代表播放,1代表播放一次,0代表播放下一个文件夹里的图片前间隔0毫秒,part0是文件夹的名称,整条指令就是指播放一次文件夹part0里面的图片,然后间隔0毫秒,进入下一指令。

第三行:p代表播放,第一个0代表循环播放,第二个0代表播放下一个文件夹的图片前间隔0毫秒,也可以理解成什么都不做,part1是文件夹的名称,整条指令就是循环播放文件夹part1里面的图片(直到进入手机系统)


文章二

Android 精减 rom 并 修改开机画面

1双击ROM,用RAR打开,不是解压!

  2双击system

  3接着双击app

  4删除app里面想去除的.apk

  5点左上,返回箭头,图在下面

  6双击data

  7双击dalvik-cache,删除里面与你删除的.apk相对映的.dex

  返回关RAR,并把精减的ROM用Auto-sign签名(这个网上多了,就不说了)

  到此精减完成

  下面说说改开机第二屏

  如果你到上面第七步后还想改开机第二屏,可以不关RAR,这时也不用签名

  1直接返回到system,并双击打开

  2再接着双击打开framework

  3Ctrl+C提取framework-res.apk

  4把framework-res.apk改名为framework-res.zip

  5cc双击framework-res.zip打开

  6双击assets打开

  7双击images打开

  8Ctrl+C提取Android-logo-mask.png,这时也可以换自己想用的图片(256*64)(到这去看看怎么制作透明第二屏http://a.opda.cn/thread-14440-1-1.html),格式为png.

  9替换原带的Android-logo-mask.png就结束了

  我们还可以改自带壁纸:

  1双击ROM,用RAR打开,不是解压!

  2双击system

  3接着双击app

  4提取里面的Launcher.apk

  5改名为Launcher.zip

  6cc双击打开Launcher.zip

  7接着双击res

  8gmf再双击drawable

  9去除里面的wallpaper_。。。.jpg

  10把自己的640*480.jpg改名为:wallpaper_。。。.jpg,同一张同再用在线图像处理缩小到107*80.jpg,并改名为wallpaper_。。。_small.jpg,注意:。。。为同一名称,如:wallpaper_sunny.jpg和wallpaper_sunny_small.jpg,且壁纸一定要15张,加上同名的107*80,共30张,要不换壁纸时就会出现FC!切记!!

  11,把改好的30张图放回删除处

  12到此就可以完美的去签名,刷ROM了

  说明:改壁纸的第九步,第十步,我打错了重要的一点,向大家道个歉,现加上:自已换的图的名称,30张一定要和原带的一样!!!切记!!!不可以像我说的那样wallpaper_。。。.jpg,应该是:wallpaper_同自带图片名.jpg。这是为什么呢?因为我不会改与Launcher.apk相关的那个.dex!这点请高手来教一下我!也许会改那里面的东西就可以不用30张图和同原带同名了

  哎,没有人顶啊,看来大家都会的,安卓上我也不去改正了!

  OPDA,是我的最爱!

  再来补上我删除的东西吧(测试两天,没有问题):

  1闹钟(自已再装个别的,要不没闹钟了)

  2浏览器(我用UC)

  3计算器(KEN大发的那个,不过有个更好看的)

  4日历(我用中华万年历)

  5日历提供(不知道有什么用,删了没感觉影响)

  6照相机(本论坛下的,高级照相机吧好像)

  7谷歌拼音(这个没有.dex)

  8安卓市场

  9音乐播放器(我用在别的地方下的一个G2美化版)

  10quickoffice(用了KEN大9号汉化的)

  11重力游戏

  12天气时钟插件(删了才可以装最新的)

  13youtube视频(不会用,删了没影响)

  14阿兴的3.12.1里面的sogouIME,没删除,我也删除了。

  15第一屏改了

  16第二屏改了

  17自带所有铃声全换了

  综上所述 :需要改启动程序,就替换 /system/framework/framework-res.apk

  需要改程序的桌面, 就替换 /system/app/launcher2.apk 就是你想要的啦。

文章三


Android系统开机画面修改

Android系统开机画面分为下面三个阶段:

      1、开机图片:Android内核是基于标准内核的,对linux比较熟悉,特别是在开发板上移植过Linux系统的人就知道在内核引导过程中会显示出一个小企鹅的图片,这就是第一阶段的开机图片,相信大家知道怎么去修改它。Android1.5及其以上版本都取消了这个图片的显示,具体的看内核相关代码就知道了;

      2、开机文字:Android系统开机会出现“A N D R O I D”这行字,相信大家都不陌生,那么这个怎么修改呢?相关文件在Android系统源码(不是Android内核源码)system/core/init/init.c,如下代码片段:


[cpp] 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); 
     } 
 } 
   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);
        }
    }         到这里大家就知道怎么修改了吧。但是这里要提到的一点就是,上面的代码片段有一个if语句,就是先检测在文件系统根目录下是否存在要实现的开机动画,如果不存在的话,那么就显示这个文本信息代替,所以,这个阶段是可以实现图片的显示的,而且图片的格式是.rle格式的。如果不存在就显示文本,所以你可以选择系那是自己的文字,也就是修改“A N D R O I D”字样啊。也可以选择显示图片,但是要自己在文件系统的根目录下提供提片,具体的图片的名字在init.h文件中定义:


[cpp] <span style="font-size:16px;">#define INIT_IMAGE_FILE "/initlogo.rle" 
 
int load_565rle_image( char *file_name );</span> 
<span style="font-size:16px;">#define INIT_IMAGE_FILE "/initlogo.rle"

int load_565rle_image( char *file_name );</span>           看到上面的宏定义大家就懂了吧,至于怎么制作rle格式的,这个使用一些软件就好。www.2cto.com

         3、开机动画:这个阶段就是大家能看到的系统启动过程中,显示完"A N D R O I D"字样后显示的图片,类似进度条一样,图片内容也是“A N D R O I D”字样。这里怎么修改呢?

            其实这个部分的动画是使用两个图片显示出来的,具体的图片文件所在路径为:frameworks/base/core/res/assets/images,大家看一下就知道了,也就知道怎么修改了。但是还没完。

            和这部分相关的源码文件主要是如下几个:frameworks/base/cmds/bootanimation下面的几个文件就是的了,可以看看BootAnimation.cpp文件的内容,有如下代码片段:


[java] <span style="font-size:16px;">bool BootAnimation::android() 

    initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png"); 
    initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");</span> 
<span style="font-size:16px;">bool BootAnimation::android()
{
    initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");
    initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");</span>           这就是设置显示的前景图片和背景图片。

           接着看还有如下代码:


[cpp] <span style="font-size:16px;">#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"</span> 
<span style="font-size:16px;">#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"</span>          看宏名相信大家就知道了,这就是设置动画文件的名称了。为什么会又显示图片又设置动画显示呢,这个Android版本有关。显示两个图片:前景和背景图片是在1.5版本用,后来就改为了设置动画文件,就是:bootanimation.zip,是zip格式的,这个文件包含三个内容:两个目录:part0和part1,一个文件desc.txt。

两个目录用来包含要显示的图片,分为第一阶段和第二阶段。剩下的文件就是设置关于如何显示的信息:

示例如下:

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


       至此,自定义开机画面就完成了!


在做Android启动画面的时候,被打包bootanimation.zip给折腾个半死,自己打包的启动画面死活不能用,后来查了些资料发现,打包zip的时候要选择“存储”模式,而不是压缩模式。
Linux:
zip -0 -r ../bootanimation.zip .

Windows:
打包的时候选择”存储”。

打包后把bootanimation.zip方到板子的 /system/media/ 目录就可以。

bootanimation.zip 的格式:


摘自  chenlong12580的专栏



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值