Android手机开机动画的修改

工作原理

Android的系统登录动画有2种:

1:android自带的动画。

由前景和背景两张PNG图片组成,这两张图片存在于/system/framework /framework-res.apk文件当中,对应原文件位于/frameworks/base/core/res/assets/images/。前景图片(android-logo-mask.png)上的Android文字部分镂空,背景图片(android-logo-shine.png)则是简单的纹理。系统登录时,前景图片在最上层显示,程序代码(BootAnimation.android())控制背景图片连续滚动,透过前景图片文字镂空部分滚动显示背景纹理,从而实现动画效果。

2:多帧图片轮流播放形成的动画。
这个和放电影类似,动画文件为/out/target/product/dkb/system/media/bootanimation.zip 压缩包,当目录中没有bootanimation.zip时,系统会自动加载android自带的动画。bootanimation动画有2部分,分别是part0,part1。part0一般播放一次,part1一般循环播放,直到系统启动完毕。 相关文件:  /frameworks/base/cmds/bootanimation/BootAnimation.h  /frameworks/base/cmds/bootanimation/BootAnimation.cpp  /frameworks/base/cmds/bootanimation/bootanimation_main.cpp  /system/core/init/init.c  /system/core/rootdir/init.rc 

制作步骤:

     1:制作自带的动画:将/frameworks/base/core/res/assets/images/目录下的android-logo-mask.png和android-logo-shine.png,直接用2张相同分辨率的PNG-24图片替换就可以了,图片的名字要保持不变。然后重新编译打包即可。

     2制作多帧图片动画:

a:新建bootanimation文件夹,在bootanimation里面再新建2个目录part0,part1,和一个文本文件desc.txt 。

b:制作动画图片帧。用photoshop将导出的png图片保存为png-24格式,图片的名字要按顺序命名(例如:1.png,2.png,3.png……). 最后将动作连续的图片放到part0,和part1中。 part0,part1中当然可以放2组不同的动画图片。
 

c:desc.txt:这是一个保存形式为ANSI格式,用于设置这个动画像素(大小),帧数,闪烁次数,文件夹名称等;,一般格式如下:

480  800  25      //表示图片以480*800 的分辨率进行播放,每秒播放25张图片

p  1  0  part0    //p为标志符,意为将part0里面的图片顺序播放1次,间隔时间为0帧

p  0  2  part1    //表示将part1里面的图片播放0次(也就是循环播放),直到系统启动完毕。两次循环之间间隔2帧图片的时间。

其实只要一个part 也是可以的。

d:进入bootanimation 目录,将part0,part1,desc.txt 打包成bootanimation.zip 然后将此文件放在/out/target/product/sdkdemo/system/media/ 目录下即可。

Windows :打包成zip格式的压缩包,压缩方式要选存储,不然无法正常播放

Linux下打包的命令如下:

#zip  -O –r  ../bootanimation.zip   ./*

Linux 指令必须使用 –O ,表示压缩等级为最低等级stored,即只打包不压缩,否则会由于打包格式的问题导致动画显示异常。

时间: 2024-08-06 05:53:29

Android手机开机动画的修改的相关文章

Android 系统开机logo的修改【转】

本文转载自:http://blog.csdn.net/yandongqiangZHRJ/article/details/8585273 看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送上通过自己的动手修改过验证后的方法. Android 开机其实总共会出现3个画面: 1.第一个就是 Linux 系统启动,出现linux小企鹅画面(reboot): 2.当android系统从Linux内核启动后,将会执行anddroid平台的初始化过程,屏幕上将会出现”A N D R I O D”

Android手机开机自动启动

package com.example.x_yp.system_camera; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; /** * 实现开机启动 * @author Owner */ public class BootRestartReceiver extends BroadcastReceiver { @Override pu

Android 开机动画修改

Android系统的手机开机动画自己可以定制,具体做法: Eclipse>DDMS视图下找到system>media>bootanimation.zip part0 part1两个文件夹分别是两个阶段的动画,有些手机只有part0文件,里面放的全是图片(帧动画替换) desc.txt内容:480 800 20 p 1 5 part0 480: 图片宽度 800: 图片高度 最好是手机屏幕大小适配 p:       标识符 1:     动画循环次数 5:     阶段切换时间间隔 par

Android系统的定制---定制系统开机动画

4.3定制Android平台系统 通常产品厂商在拿到Android源码后会在Android源码基础上进行定制修改,以匹配适应自己的产品,从本节开始,我们从最原始的Android源码系统里一步一步定制出自己的Android系统.本节主要内容包含:根据Android源码,添加新产品编译项,定制系统启动界面和文字,定制系统启动动画和声音,定制系统桌面. 4.3.1添加新产品编译项 Android系统的源代码是一个逻辑结构非常独立工程,在一套Android源码中可以编译出多个产品映像,在需要编译某一个产

Android隐藏虚拟按键,关闭开机动画、开机声音

/*********************************************************************** * Android隐藏虚拟按键,关闭开机动画.开机声音 * 声明: * 有时候,我们可能会希望隐藏掉android中的虚拟按键,当然,那个 * Android的开机动画,有时候也是挺讨人厌的,也是可以隐藏的. * * 2016-1-7 深圳 南山平山村 曾剑锋 **********************************************

设置安卓开机动画、开机logo

我们要改动的是system>media目录下的bootanimation.zip(手机开机动画)这个文件 先来讲讲这个文件结构:该zip解压后得到两个文件, 第一个文件夹存放了开机时播放的图片(图为佳域G3原厂的动画图片包),见下图: 图片编号001,002,.......010这些是用来控制图片播放顺序的 .第二个 desc. txt的文本文档存放的数据和文字用来控制播放图片的速度(帧速)和播放方式,见下图: 下面讲解这些文字数据的含义:720表示图片像素宽为720像素点 1280表示图片高为

源码中修改Android的开机画面和动画【转】

本文转载自:http://blog.csdn.net/dddxxxx/article/details/54343976 参照文章:http://blog.csdn.net/a345017062/article/details/6222962.http://bbs.gfan.com/android-146253-1-1.html. Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止.第二个过程从Frameworks启动完成到Launcher程序启动完成.

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

本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 Android 系统自带的开机动画,是一个白色的 “android” 文字在闪动.我们可以修改这一动画,换成自己喜欢的动画. 修改开机动画 当然,修改开机动画我们得有 root 权限.(前提,必须) 一般的做法是替换 Android 设备 system/media/bootanimation.zip 文件. 1.首先通过 adb push 命令将文件上传到 sdcard

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

本文转载自:http://blog.csdn.net/ouyang_peng/article/details/9564753 首先,我们先来分析一下源码: frameworks/base/cmds/bootanimation/BootAnimation.cpp 首先看一下定义的常量: BootAnimation::readyToRun() 进入一个if判断语句 BootAnimation::threadLoop() ==> BootAnimation::Android()会加载"image