修改手机的开机动画不是什么难事儿。

但修改一款很冷门的“山寨机”,就不太好修改第一屏了。

手机是MTK的一款手机,虽然比较贵(价格超过三星Note3),但在我看来跟山寨机木有啥区别。

很冷门的手机,百度谷歌都翻了个天,都木有刷机包,更别提recovery了。

好了,root完毕,开工。

开机动画严格意义上可以分为三个步骤:

1.开机第一屏

2.开机第二屏

3.开机动画

以MTK手机为例:

Boot logo:

1. 开机显示的顺序如下:

    boot logo(开机第一屏)   (logo.bin 中)

    Kernel logo(开机第二屏)  (system/media/images/boot_logo 文件)

    Boot animation(开机动画)(system/media/bootanimation.zip 文件)

2. boot logo和kernel log所用的图片资源在 mediatek/custom/common/uboot/logo 目录下。

    在ProjectConfig.mk中指定具体目录,比如BOOT_LOGO=wvga_XXX,表示用wvga_XXX目录下的资源,该目录下的资源都是bmp文件。

    在logo/update 文件中会调用tool/bmp_to_raw将bmp文件转换成raw文件,并且在make uboot时会将这些资源文件放到logo.bin 中。 

    Logo/update 针对wvga_XXX_kernel.bmp有特殊处理,将其转成raw文件并命名为/logo/boot_logo

    在mediatek/source/external/boot_logo_upater/Android.mk中会将boot_logo 文件放到out/target/product/system/media/images/boot_logo. 这样就放到了system.img中.

3. boot logo的显示: boot.img中加载logo.img中的boot 图片显示;

    Kernel logo的显示: init.rc 启动 service bootlogoupdater /system/bin/boot_logo_updater .

    boot_logo_updater这个可执行程序由boot_logo_updater.c 编译而成,其功能是从/system/media/images/boot_logo 中读出kernel_boot资源,并通过framebuffer直接显示到LCD上。

    注:可以根据logo/update中的脚本单独生成boot_logo文件(修改第二屏),然后用adb remount/adb push的方法直接放到手机里面观察效果。

下面依次来修改三个屏幕。

1.开机第一屏

这一屏的修改主要是制作一个update.zip的升级包,用recovery刷上去就看到效果了。

但对于山寨机来说,就比较麻烦了(木有第三方recovery,官方的recovery战斗力就是个渣渣(原因可自行百度))。

(1)adb pull 导出logo文件(是的,木有后缀,我手边的机子是在/dev/目录下)

(2)将logo文件加个后缀.bin

(3)下载开机第一屏制作软件LogoBuilder

(4)如图,替换img1图片(也就是开机第一屏),点击“开始生成”,导出update.zip的刷机包

(5)将生成的卡刷包 update.zip 拷到sd卡根目录下,手机进入 recovery ,进行卡刷(特别提醒:不要双清),刷完后重启手机就会看到新的第一屏。

注:悲剧的是,自己不会做第三方recovery,而这破机子也没有第三方recovery!

2.开机第二屏

(1)导出boot_logo文件至笔记本

(2)使用Image Search Editor软件打开boot_logo文件,用同尺寸的bmp文件替换显示出来的图片。

(3)将替换图片后的boot_logo导入到手机原目录

(4)OK

3.开机动画

(1)导出bootanimation.zip 文件至PC

(2)解压缩,发现2个目录和一个desc.txt的"脚本文件"





bootanimation.zip里面一般有两个文件夹part0,part1,一个文本文件desc.txt

dest.txt里面的参数是用来控制播放的,

比如:

第一行   540  960   24       540*960是手机的分辨率,而接着的一秒播放多少帧,这里是24

第二行    p  1  0    part0     这里第一个数字1表示播放1遍,第二个数字表示不停顿,而part0表示播放用的图片文件夹

第三行    p  0  0    part1     这里第一个数字0表示循环播放,第二个数字若不为0,则表示每播放到当前这个数字的帧停顿一下,(以10为例,就是每播放10帧停一下)而part1表示播放用的图片文件夹

更换两个文件夹的文件为自己的逐帧动画图片素材,重新打包为zip文件。

注意:要存为zip格式,并且只能是存储,否则开机动画是播放不出来的

制作好之后进行替换就可以了需要注意的是文件容量不能太大尽量不要高于原开机动画大多否则会造成读取慢卡失效,另外,还需要配合开机音乐的时长。

开机音乐相对简单,替换system/media中的bootaudio.mp3文件即可。

关机动画与开机动画修改类似。

The End。

Android MTK平台最完备的开机动画修改教程的更多相关文章

  1. Android MTK平台 客制化系统来电界面(屏蔽 InCallUI 提供接口给客户自行展示来电去电页面)

    OS: Android 8.1 需求分析 1.禁止系统来电铃声,提供接口给客户自己播放铃声 2.禁止系统拉起来去电页面(InCallActivity),消息通知客户拉起自己的来去电页面 3.禁止来电消 ...

  2. Android系统移植与调试之------->如何修改开机动画的两种方式剖析

    首先,我们先来分析一下源码: frameworks/base/cmds/bootanimation/BootAnimation.cpp 首先看一下定义的常量: BootAnimation::ready ...

  3. Android 修改开机动画(bootanimation)【转】

    本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 Android 系统自带的开机动画,是一个白色的 “android” 文字 ...

  4. 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制(瘋耔修改篇一)

    首先非常感谢原文作者为我们提供的知识库,因为有你们的贡献,我们的开发难度更显简单 原文 :   http://blog.csdn.net/mr_raptor/article/details/30113 ...

  5. android开机动画(bootanimation)

    Android开机动画有两种修改方法,android 2.0及之后,使用bootanimation程序显示开机画面,如需修改开机画面,不用修改代码,只需按格式要求做bootanimation.zip包 ...

  6. Android4.4开机动画播放视频

    Android4.4系统启动时,播放自定义bootanimation.zip动画时,由于分辨率为1280x720,bootanimation.zip包也很大,播放太卡,所以将开机动画修改为播放视频.如 ...

  7. 教你win7关闭开机动画,大幅度加快开机时间

    Win7系统如何关闭开机动画 Win7系统开机动画关闭教程,以前我们说过很多种帮助Win7开机加速的方法,比如减少Win7开机启动的程序.服务或计划任务等.不过这些都优化都是针对已经进入Win7系统后 ...

  8. 修改android系统开机动画

    本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 修改android系统开机动画

  9. Nexus5x 修改Android开机动画

    1.制作帧动画 这里随便从网上找了一个gif图片,导入PS中,打开后会形成很多帧图层,选择导航栏中的文件->脚本->将图层导出到文件可以将所有图层导出来.要注意文件命名,Android会按 ...

随机推荐

  1. Hive的HQL语句及数据倾斜解决方案

    [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51675005 作者: 朱培          ID ...

  2. TextView的升级版———AutoCompleteTextView

    TextView的升级版---AutoCompleteTextView AutoCompleteTextView顾名知义,可以自动提示的TextView,还可以提示错误信息. 这里介绍基本的使用,能够 ...

  3. Dynamics CRM2013 6.1.1.1143版本插件注册器的一个bug

    最近在做的项目客户用的是CRM2013sp1版本,所以插件注册器使用的也是与之对应的6.1.1.1143,悲剧的事情也因此而开始. 在插件中注册step时,工具里有个run in user's con ...

  4. tomcat自动运行磁盘任意位置上的项目、使用Maven对tomcat进行自动部署

     对于非Maven的web项目,有时候我们想不时常通过打war包.拷贝war包.启动tomcat来运行项目.这时候我们可以通过以下方式来进行配置: 1.1:创建web工程.工程结构如下: 1.2. ...

  5. android galley实现画廊效果

    青春流水指间. 每段路,都有即将要来的旅程 每颗心,都有值得期待的成分 Android之ImageSwitcher,Gallery用法 今天在做一个软件界面时用到了ImageSwitcher和Gall ...

  6. K均值聚类的失效性分析

    K均值聚类是一种应用广泛的聚类技术,特别是它不依赖于任何对数据所做的假设,比如说,给定一个数据集合及对应的类数目,就可以运用K均值方法,通过最小化均方误差,来进行聚类分析. 因此,K均值实际上是一个最 ...

  7. JDBC编程-事务编程(四)

    事务的概念 事务的概念在我看来是指的是一组sql序列,这个序列是一块执行的单位,要么全部执行,要不全部执行,这样可以很好的对数据库进行并发控制. 因为数据库是多个用户都可以同时操作的,如果多个用户同时 ...

  8. 用API创建用户

    DECLARE lc_user_name VARCHAR2(100) := 'PRAJ_TEST'; lc_user_password VARCHAR2(100) := 'Oracle123'; ld ...

  9. 深入浅出Tabhost+简单入门Demo

    小伙伴们在手机上逛淘宝的时候,会发现在淘宝的下面有个按钮,分别是首页.微淘.社区.购物车和我的淘宝,点击不同的按钮会跳转到不同的页面,目前小编所接手的这个项目,也需要用到类似这样的功能,小编就发挥网络 ...

  10. Centos6.6上源码安装Nodejs V4版本

    本来就是想在vps上装一个Ghost博客,这个博客依赖的是Nodejs,然后推荐的是V4版本.然后我就对着官网的步骤安装,发现根本没有Centos6 i386的资源了(64位的还是有的), 我只能在那 ...