改动Android启动画面

Posted gccbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了改动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启动画面的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Android WebView App性能问题

Android添加全屏启动画面

当应用程序进入后台android时显示启动画面

Android小部件,启动一个片段?

Android 12 启动画面-SplashScreen

我的启动画面结束得太早了。如何在 Android 上手动隐藏启动画面?