android开机动画修改实战(bootanimation)

本文详细介绍了如何深入Android底层,修改bootanimation.zip以定制开机动画,包括定位文件位置、修改图片尺寸、解读desc.txt格式,以及打包和推送过程。通过实践指导,帮助开发者个性化Android启动界面。

1. android开机动画修改

1.1 底层代码中的信息

bootanimation.zip在平台上的位置
在底层源代码中的
/source PATH/frameworks/base/cmds/bootanimation/BootAnimation.cpp,可以找到
/system/media/bootanimation.zip


namespace android {
   
   

static const char OEM_BOOTANIMATION_FILE[] = "/oem/media/bootanimation.zip";
static const char SYSTEM_BOOTANIMATION_FILE[] = "/system/media/bootanimation.zip";
static const char SYSTEM_ENCRYPTED_BOOTANIMATION_FILE[] = "/system/media/bootanimation-encrypted.zip";
static const char OEM_SHUTDOWNANIMATION_FILE[] = "/oem/media/shutdownanimation.zip";
static const char SYSTEM_SHUTDOWNANIMATION_FILE[] = "/system/media/shutdownanimation.zip";

1.2 在硬件系统中确定

通过usb连接硬件,adb shell进去系统,可以看到bootanimation.zip的位置
在这里插入图片描述

2. 修改bootanimation.zip

2.1 下载bootanimation.zip

adb pull来下载原来的bootanimation.zip
解压bootanimation.zip,可以看到里面有两个文件:

在这里插入图片描述

2.2 修改图片

打开文件夹part0,图片的格式是.png,存入的格式也应该是.png。
图片的分辨率,根据显示屏的分辨率,不能大于显示屏分辨率。
我用的显示屏是10802340
所以,图片宽不大于1080,长不大于2340。
我选用的1080
607的图片
在这里插入图片描述

2.3 修改desc.txt

打开文件如下:
在这里插入图片描述

2.3.1 格式说明:

第一行,1080 607是图片的分辨率,10是10帧每秒.
第二行,c 1 10 part4
c :有些是p,有些是c,后面说明。
c后面第1个参数:1是播放一次, 0表示无限循环直至开机完成。
c后面第2个参数: 数字表示阶段间隔时间,0表示没有间隔时间
c后面第3个参数:为对应的步骤文件夹。
p或c引领每个步骤,几行几步

第三行,回车(一定要有)

2.3.2 p或c说明:

通常animation都是P参数开头的,偶尔也会有C开头的参数,如下:
Android5.1以上,加入了“c”,若是"c", 即使exitPending()返回值为true,也会继续显示。
BootAnimation.cpp中,
函数bool BootAnimation::parseAnimationDesc(Animation& animation),解析desc.txt
函数bool BootAnimation::movie(),播放动画,释放动画。
movie()中playAnimation(),操作Animation。

bool BootAnimation::parseAnimationDesc(Animation& animation)
{
   
   
    String8 desString;

    if (!readFile(animation.zip, "desc.txt", desString)) {
   
   
        return false;
    }
    char const* s = desString.string();

    // Parse the description file
    for (;;) {
   
   
        const char* endl = strstr(s, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值