«

修改Android启动画面

时间:2024-3-2 18:46     作者:韩俊     分类: Android


一.Android的启动步骤

1.启动Linux

2.加载Android

3.显示Android桌面

二.分析

Android加载开机动画的源码文件是:
/opt/android4.3/frameworks/base/cmds/BootAnimation.cpp
关注其中的常量定义:

#include "BootAnimation.h"

#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"
#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
#define EXIT_PROP_NAME "service.bootanim.exit"

在status_t BootAnimation::readyToRun()里使用了它们:

从threadLoop里判断,在不同情况下,加载不同动画。其中:

android();是android字体闪动,它调用的是:

“./frameworks/base/core/res/assets/images/android-logo-mask.png”和

“./frameworks/base/core/res/assets/images/android-logo-shine.png”

一张镂空的图,一张发光效果。
movie()是bootanimation.zip

bootanimation.zip包含:

文件夹part1
文件夹part2
… 可能有很多个文件夹
desc.txt
文件夹里是png组成的动画
desc.txt格式:

480
250
15

图片的宽
图片的高
每秒显示的帧数

p
1
0
part0

标识符
循环的次数
阶段切换间隔时间
对应图片的目录

p
0
10
part1

标识符
循环的次数
阶段切换间隔时间
对应图片的目录

我直接下载了一个其他人做的动画
http://download.csdn.net/downlaod/zhoucong50/3480737

放到文件夹里/opt/android4.3/out/target/product/generic/system/media/下

回到根目录 ,执行

make snod

再启动虚拟机:
emulator

效果:

标签: android

热门推荐