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 imagemagick3. 将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.img6. 导出文件列表:
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
system7. 生成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 ramdiskcd ramdiskgzip -dc ../boot.img-ramdisk.gz | cpio -icd ..2.进入ramdisk 修改init.rc 在init.rc 中增加:on logo-initmkdir /data 0775 system system# We chown/chmod /data again so because mount is run as root + defaultsmount yaffs2 mtd@userdata /data nosuid nodevchown system system /data#for other user can read this dirchmod 0775 /datasymlink /data/data/com.android.e139.gallery/initlogo.rle /initlogo.rleon early-boot
# copy file    symlink /data/data/com.android.e139.gallery/bootanimation.zip /data/local/bootanimation.zipchmod 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

http://raoxue.blog.163.com/blog/static/60168999201112835210903/

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/4111386.html

修改Android开机画面相关推荐

  1. 修改android 开机画面

    对于使用安卓手机的人来说,能够自由定制手机的各种界面是每个用户之所以喜欢安卓系统的最根本的缘由,比如手机的开机界面中的bootanimation.zip文件.本文就如何修改开机界面,做一个简单的流程介 ...

  2. Android开机画面定制

    引言 Android系统在按下开机键之后就会进入启动流程,这个过程本身需要一些时间,而面向用户的往往是厂商定制的一些宣传用的比较绚丽的启动画面.我们在定制自己的系统时,往往需要把这些画面换成我们自己的 ...

  3. Android 开机画面和wallpaper总结

    Android 开机画面和wallpaper总结  1 kernel的开机画面修改 1.图片需求: 图片格式:png 图片大小:1024x600(具体示lcd分辨率而定). 2.转换图片png图片. ...

  4. android 开机画面定制

    一. 修改化定制Android4.0系统 Android系统启动时,先加载Linux内核,在Linux的framebuffer驱动里可以定制开机界面,Linux内核启动成功后,挂载根文件系统,启动An ...

  5. 图说Android开机画面和开机动画

    转载请注明出处 电脑报( http://www.icpcw.com )        2009年第42期C版 责任编辑:   郭昱     作者 屈志伟 诺基亚.微软.苹果大战智能手机平台,巨头Goo ...

  6. Android开机画面~(自己还没试验)

    Android 开机会出现3个画面: a. Linux 系统启动,出现Linux小企鹅画面(reboot): b. Android平台启动初始化,出现"A N D R I O D" ...

  7. 联想ThinkPad E14 如何修改BIOS开机画面LOGO

    环境: 电脑:联想E14 系统:Windows 10 专业版 64位 问题描述: 联想ThinkPad E14修改BIOS开机画面LOGO 解决方案: 一.下载BIOS升级程序 1.打开ThinkPa ...

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

    制作开机Logo  方法一:  Drivers/video/logo/logo_linux_clut224.ppm是默认的启动Logo图片,把自己的Logo图片(png格式)转换成ppm格式,替换这个 ...

  9. 触觉智能分享-修改Android开机动画

    本文适用于我司基于RK PX30开发的系列主板(IDO-SOM3020/IDO-EVB3020)修改开机画面,搭载四核A35处理器,主频高达1.5  GHz,采用 Mali-G31 MP2 GPU,支 ...

最新文章

  1. MVC系列1-MVC基础
  2. Spring源码阅读 源码环境搭建(一)
  3. 谷歌Chrome 11对早期开发者开放使用
  4. Linux无法解析hosts里面绑定域名的排查方法
  5. Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions 思维 + 根号数
  6. 面试题 03.04. 化栈为队/面试题09. 用两个栈实现队列/232. 用栈实现队列
  7. wx:if 与hidden
  8. STL中map与hash_map容器的选择
  9. 《线性代数及其应用》看完
  10. excel文件修复工具_微软修复磁盘清理工具无法完全删除windows.old文件夹问题
  11. windows10复制粘贴键突然失效 的一个最简单的解决方法
  12. 黑莓硌手的Passport变圆了
  13. 东北大学计算机学院领导,计算机学院召开新一届全体干部大会
  14. Java基础强化训练——开发工具及输出语句训练
  15. 常用的html代码 加粗 加亮 字型加大 变色等
  16. 护眼灯哪个品牌好?被央视表扬的护眼灯推荐
  17. java 声明和动态创建数组
  18. 交换机配置SNMP团体字
  19. QQ欢乐斗地主心得体会 (三):高倍场攻略
  20. 超全教授svg图标素材网站整理

热门文章

  1. transforms.Compose,transforms.ToTensor(),transforms.Normalize()的含义与原理
  2. Android 应用页面延缓载入
  3. Android的定位策略
  4. 毕业设计-基于 MATLAB 的图像分割算法研究及实现
  5. 《郑军的回忆》文章记录了我3年的痛苦过去
  6. 海思3519上移植Qt5.5.1
  7. Task01:熟悉新闻推荐系统的基本流程(代码复现)
  8. 安大计算机学院ACM,安徽大学计算机科学与技术学院硕士生导师:张磊
  9. Android鬼点子-自定义View就像PS
  10. 【最受欢迎最容易理解的初阶c语言教学】4.操作符和常见关键字