Andorid 系统实现多种开机动画和系统实现多种开机动画和logo切换功能切换功能
主要介绍了Andorid 系统实现多种开机动画和logo切换功能,非常不错,具有一定的参考借鉴价值,需要的朋友可
以参考下
前言前言
基于mtk6580,添加多logo和开关机动画切换
描述描述
目前android开机画面由三个部分(阶段)组成,第一部分在bootloader启动时显示(静态),第二部分在启动kernel时显示
(静态),第三部分在系统启动时(bootanimation)显示(动画)。
添加资源添加资源
1.在device/tangxun/tx6580_weg_m/ProjectConfig.mk,找到BOOT_LOGO=这项,记住这项内容(如hd720,),在
vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/目录下找到BOOT_LOGO=对应的文件夹把你的图片放进去,图
片我是这样命名的hd720_kernel_i7.bmp.(如果你只是替换的话更换hd720_kernel.bmp和hd720_uboot.bmp这两张图片即可,
新图片的名字需与旧图片一致)
2.在vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/rules.mk下修改RESOURCE_OBJ_LIST列表,如图:
最后两项就是我添加的
3.同目录下update文件中添加
添加标识区分不同添加标识区分不同logo
思路:首先我们添加的标识,不能被轻易清除,包括恢复出厂设置情况下。所以我选择在protect_f分区下创建空文件的方式,
在show logo的时候判断相应文件是否存在,来展示不同的logo和动画。
1.选择一种要展示的logo和动画,在protect_f分区下创建.dat后缀的文件,删除其他类型动画在protect_f分区下的相应文件
private void createOrDeleteFile(String str){
String sDir = "/protect_f";
File fDir = new File(sDir);
if (fDir.exists()){
try {
Runtime.getRuntime().exec("chmod 777"+sDir);
} catch (IOException e) {
e.printStackTrace();
}
}
File mFile = new File(sDir,File_moto_logo);
if (mFile.exists()){
mFile.delete();
}
mFile = new File(sDir,File_samsun_logo);
if (mFile.exists()){
mFile.delete();
}
mFile = new File(sDir,"sysBoot_logo_null.dat");
if (mFile.exists()){
mFile.delete();
}
if (str != null){
mFile = new File(sDir,str);
if (!mFile.exists()){