【Android源码 栏目提醒】:网学会员在Android源码 频道为大家收集整理了“修改安卓系统开机画面 - 技术总结“提供大家参考,希望对大家有所帮助!
修改安卓系统开机画面大连传媒公司主编亲身实验验证 现在最最主流的操作系统要数安卓了吧那么拥有一款自己的独特好看的开机画面是不是很炫呢今天跟大家分享的是大连传媒公司主编亲身实验验证的一个修改安卓系统开机画面的小方法。
Android系统开机动画包括两部分开机显示的
ANDROID 文字
ANDROID发光动画。
这篇文章说的开机动画是第一种下面开始正文 1. 制作当前屏幕像素的图片模拟器默认为320480使用PS制作一张320480的图片保存时选“保存为 Web 所用格式”然后在弹开的窗口上“预设”项选择“PNG-24”保存为
android_logo.png注好像只支持png-24其他格式生成的rle文件显示不正常有兴趣大家可以再验证一下。
2. 将图片转换为raw格式使用linux下的ImageMagick自带的convert命令进行raw格式转换命令为 convert -depth 8
android_logo.png rgb:
android_logo.raw注ubuntu 10.04 默认已经安装ImgageMagick工具如果当前系统没有安装可以执行下面的命令安装 sudo apt-get install imagemagick 3. 将raw格式转化为rle文件需要用到
android编译后的rgb2565工具在
android/out/host/linux-x86/bin目录下
android为当前
源码所在目录转换命令如下rgb2565 -rle
android_logo.raw initlogo.rle到目前为止启动需要显示的图像已经做好了就是initlogo.rle注意文件名必须是这个如果想改文件名需要修改
android/system/core/init/init.h中的宏define INIT_IMAGE_FILE /initlogo.rle 下面需要将initlogo.rle加入的
android文件系统中4. 找到ramdisk.img文件
android/out/target/product/generic/ramdisk.img将文件名改为ramdisk.img.gz然后使用下面的命令解压gunzip ramdisk.img.gz解压后得到ramdisk.img可能有人要问怎么文件名又改回去了其实不然使用file ramdisk.img查看一下就知道了解压前ramdisk.img: gzip compressed data from Unix解压后ramdisk.img: ASCII cpio archive SVR4 with no CRC跑题了还是说正事儿。
5. 使用cpio提取文件新建一个temp目录mkdir tempcd tempcpio -i -F ../ramdisk.img 6. 导出文件列表cpio -i -t -F ../ramdisk.img list注list是一个文本文件里面存储了ramdisk.img的文件结构我们需要在这个文件中加入initlogo.rle这一行修改后的文件如下datadefault.propdevinitinit.goldfish.rcinit.rcinitlogo.rleprocsbinsbin/adbdsyssystem 7. 生成ramdisk.imgcpio -o -H newc -O ramdisk.img list注根据list文件的描述生成ramdisk.img文件 8. 用ramdisk.img覆盖sdk目录下的ramdisk.imgandroid-sdk-windows/platforms/
android-2.1/images/ramdisk.img最好先备份一下。
9. 启动模拟器就可以看到我们自己init 文件下载地址 http://docs.google.com/leafid0 ... 2RiYjZjNjM2amphlen split_bootimg.pl 下载地址http://
android-dls.com/files/linux/split_bootimg.zip T卡文件下载地址http://docs.google.com/leafid0 ... GVjYzVhMjg4amphlen 开机图片设置 软件原理 根据
android 系统 开机LOGO和开机动画的存放路径/initlogo.rle 和 /data/local/bootanimation.zip 在init.rc 中 建立两个链接/initlogo.rle -/data/data/com.
android.e139.gallery/initlogo.rle 和 /data/local/bootanimation.zip -/data/data/com.
android.e139.gallery/bootanimation.zip来完成开机LOGO和开机动画的动态设定 安装要求 1.本apk文件只能安装在
android 2.1 或 2.0的操作系统 中2.必须修改
android 根目录下面的两个文件init.rc 和 init 功能才能实现设置开机LOGO和开机动画的功能 修改init.rc 和 init 的方法 1.修改 init.rc 和init文件需要修改手机中的 boot.img导出方法cat /dev/mtd/mtd2 /sdcard/root.img 然后 adb pull /sdcard/root.img ./ 这样就把root.img拷贝到本地目录下了。
boot.img的组成结构是 —————– boot header 1 page—————– kernel n pages—————– ramdisk m pages—————– second stage o pages—————– 那我们要做的就是把这几个部分分别分离出来 我们现在先进行镜像分离。
用命令 ./split_bootimg.pl boot.img 成功执行后可以得到两个文件一个是boot.img-kernel另一个是boot.img-ramdisk.gz。
我们这里以修改ramdisk为例所以将其解包 mkdir ramdisk cd ramdisk gzip -dc ../boot.img-ramdisk.gz cpio -i cd .. 2.进入ramdisk 修改init.rc 在init.rc 中增加 on logo-init mkdir /data 0775 system system We chown/chmod /data again so because mount is run as root defaults mount yaffs2 mtduserdata /data nosuid nodev chown system system /data for other user can read this dir chmod 0775 /data symlink /data/data/com.
android.e139.gallery/initlogo.rle /initlogo.rle on early-boot copy file symlink /data/data/com.
android.e139.gallery/bootanimation.zip /data/local/bootanimation.zip chmod 0666 /data/local/bootanimation.zip 再将已经下载的init文件覆盖到目录下面的init文件3.生成新img 回到ramdisk 的上一级目录后执行mkbootfs ./ramdisk gzip ramdisk-new.gz mkbootimg --cmdline no_console_suspend1 consolenull --kernel boot.img-kernel --ramdisk ramdisk-new.gz -o boot-new.img就会重新生成 boot-new.img3.刷入新img 生成了新的img后我们如何在系统上应用我们的新boot.img呢首先把img文件放到sdcard上去 adb push ./boot_new.img /sdcard 然后执行这两个操作 cat /dev/zero /dev/mtd/mtd2flash_image boot /sdcard/mynewimage.img 执write: No space left on device 这个信息没关系不用管它。
两个命令都执行后最后adb shell reboot即可。
如果重启顺利那么恭喜你你刷成功了. 安装步骤1.按上面的步骤修改手机中的init.rc 和init文件2.把下载的T卡文件放到T卡中3.安装 开机图片设置.apk文件 修改boot.img的方法参考http://www.kunli.info/2009/09/14/how-to-modify-ramdisk-
android/ 和http://
android-dls.com/wiki/index.phptitleHOWTO:_Unpack_Edit_and_Re-Pack_Boot_Images 大连传媒公司http://www.kmasa.com.cn与您分享。