`
wuzijingaip
  • 浏览: 331714 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

修改Android开机画面

阅读更多
转自:http://yueguc.iteye.com/blog/772484  << http://blog.csdn.net/zhenwenxian/archive/2010/09/25/5904143.aspx ,以备学习


Android系统开机动画包括两部分:
开机显示的 ANDROID 文字;
ANDROID发光动画。
这篇文章说的开机动画是第一种,下面开始正文!
1. 制作当前屏幕像素的图片(模拟器默认为320*480)
使用PS制作一张320*480的图片,保存时选“保存为 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 temp
cd temp
cpio -i -F ../ramdisk.img
6. 导出文件列表:
cpio -i -t -F ../ramdisk.img > list      
注:list是一个文本文件,里面存储了ramdisk.img的文件结构,我们需要在这个文件中加入initlogo.rle这一行,修改后的文件如下:
data
default.prop
dev
init
init.goldfish.rc
init.rc
initlogo.rle
proc
sbin
sbin/adbd
sys
system
7. 生成ramdisk.img
cpio -o -H newc -O ramdisk.img < list
注:根据list文件的描述,生成ramdisk.img文件
8. 用ramdisk.img覆盖sdk目录下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),最好先备份一下。
9. 启动模拟器,就可以看到我们自己做的的开机界面了。
/////////////////////////
开机图片设置 的下载地址为:http://docs.google.com/leaf?id=0 ... TIzOGQ5OWQ3&amp;hl=en
init 文件下载地址 http://docs.google.com/leaf?id=0 ... 2RiYjZjNjM2&amp;hl=en
split_bootimg.pl 下载地址:http://android-dls.com/files/linux/split_bootimg.zip
T卡文件下载地址:http://docs.google.com/leaf?id=0 ... GVjYzVhMjg4&amp;hl=en

开机图片设置 软件原理:
     根据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 mtd@userdata /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_suspend=1 console=null' --kernel boot.img-kernel --ramdisk ramdisk-new.gz -o boot-new.img
就会重新生成 boot-new.img
3.刷入新img
生成了新的img后,我们如何在系统上应用我们的新boot.img呢?首先,把img文件放到sdcard上去
adb push ./boot_new.img /sdcard
然后执行这两个操作
cat /dev/zero > /dev/mtd/mtd2
flash_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.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
分享到:
评论

相关推荐

    修改Android开机画面.doc

    在Android系统中,修改开机画面是一项...总的来说,修改Android开机画面涉及到图像处理、文件格式转换以及对Android内核和文件系统的理解。这是一个技术性较强的过程,需要对Linux命令行和Android系统有一定的了解。

    Android开机画面修改

    ### Android开机画面修改详解 #### 一、开机第三屏(Android动画) 开机第三屏通常指的是Android启动时播放的动画,这部分动画是由多个连续的画面组成的,用于展示系统的启动过程。 **修改步骤:** 1. **编译...

    android修改开机画面及开机动画

    在Android系统中,修改开机画面和开机动画可以让设备更加个性化,同时也是一种展现技术实力的方式。下面我们将深入探讨如何进行这些更改,以及涉及到的相关知识点。 首先,我们要了解Android的启动流程。Android...

    android 开机炫彩画面

    在Android操作系统中,开机画面是用户首次接触设备时所看到的视觉效果,它不仅展示了品牌的标识,也体现了系统的个性化和风格。"android 开机炫彩画面"是指Android系统中的开机动画,这些动画通常包含了品牌Logo、...

    Android平台修改开机画面

    ### Android平台修改开机画面 #### MTK7675+Android9.0 与 UIS7862S+Android10.0 本篇指南详细介绍了如何在MTK7675芯片组运行的Android 9.0系统及UIS7862S芯片组运行的Android 10.0系统中修改开机画面。这些步骤...

    修改Android开机动画

    如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom开机动画没有被修改过,但这不碍事,没有就放一个进去,到时候想换回最原始的开机画面,也可以把bootanimation这个文件删了。官方最原始的开机...

    android修改开机画面及开机动画.rar

    本文将深入探讨如何在Android平台上修改开机画面和开机动画,让你能够根据自己的需求定制个性化启动效果。 1. **开机画面与开机动画的概念** 开机画面通常是设备启动时显示的一张静态图像,通常包含品牌Logo、型号...

    Android 4.0开机画面

    在Android操作系统的发展历程中,Android 4.0(代号Ice Cream Sandwich,简称ICS)是一个重要的...而对于IT专业人士而言,深入研究开机画面的制作和修改,有助于理解Android系统的底层运作机制,提升开发和调试技能。

    Android开机画面

    本话题主要探讨如何备份Android开机画面以及通用的Android开机第二屏定制。 首先,我们要理解Android开机画面的工作原理。开机画面分为多个阶段,第一阶段通常是硬件初始化和引导加载程序(Bootloader)执行,然后...

    海思hitool Android开发之修改系统开机Logo与开机动画

    Android开发之修改系统开机Logo与开机动画 开机logo,就是机顶盒的开机第一屏,常见的有中国移动等字样,文件位置可以用命令查看 HiTool也就是海思芯片烧录工具,是一个硬件配置烧录工具包,内附多种多样工具,...

    安卓系统开机画面

    用户可以通过第三方主题应用或手动替换系统文件来更改开机画面,从而个性化自己的设备。不过,这种操作需要一定的技术知识,包括获取设备的root权限,以及正确地替换系统文件,否则可能会导致系统无法正常启动。 在...

    moto x更改开机画面软件

    对于更改开机画面,需要ROOT权限是因为开机画面文件位于系统文件夹内,普通用户无权修改。获取ROOT权限可以通过多种方法,如使用SuperSU、Magisk等工具,但同样需注意,这可能影响手机稳定性并失去官方保修。 更改...

    Android开机画面的具体修改方法

    总结来说,修改Android开机画面需要一定的Linux和Android系统知识,包括图片格式转换、内核编译以及文件系统的操作。通过上述步骤,你可以实现自定义的开机Logo,让设备开机时展示个性化的设计。不过请注意,这些...

    Android开机Logo生成工具

    Android开机Logo生成工具就是用来帮助开发者或设计者将普通的位图(BMP)文件转换为适用于Android设备开机画面的特定格式,即bin文件。这个过程涉及到Android系统的图形显示机制、图像处理技术以及二进制文件格式的...

    Android系统开机界面

    1. **Bootanimation.zip**:这是Android开机动画的主要载体,通常是一个ZIP文件,包含了多个PNG或JPEG图片帧,以及描述帧如何连续播放的XML文件。文件名即为`bootanimation.zip`,通常存放在`system/media`目录下。 ...

    修改andorid开机LOGO及动画 附件

    这篇文章的资源包提供了修改Android开机LOGO和动画的完整流程,让我们一起深入探讨这个主题。 首先,`unpack-bootimg.pl` 和 `repack-bootimg.pl` 是两个Perl脚本,用于解压和重新打包Android的boot.img文件。`...

    安卓开机画面,很不错的,动画

    Android开机画面的制作涉及到多个技术层面,包括但不限于图形设计、动画制作以及系统级别的集成。设计师通常会根据系统主题或者特定需求来创建开机动画,确保其视觉效果吸引人且符合品牌形象。在Android系统中,开机...

    联想开机画面手机A60

    了解这一过程,首先需要明确Android系统中开机画面的相关机制。开机画面通常是由一个二进制文件控制,这个文件往往具有“.bin”作为后缀。在我们的案例中,这个文件便是“logo.bin”。它包含了启动时显示的图像数据...

    Android开机动画包bootanimation.zip

    通过理解以上知识点,我们可以创建和修改Android开机动画,实现个性化手机的启动体验。对于开发者来说,这也是一种展示创意和技术能力的方式。在实践中,可以结合Android SDK和相关工具来实现更复杂的动画效果。

    4412开发板制作android开机动画

    ### 4412开发板定制Android开机动画详解 #### 一、概述 本文将详细介绍如何在基于UT4412BV03开发板的Android系统中定制开机动画。这一过程涉及到从Kernel到Android系统层面的多个步骤,不仅能让用户自定义开机画面...

Global site tag (gtag.js) - Google Analytics