Android删除开机动画bootanimation.zip

极客导航  2018-11-23 11:05  阅读 150 次 评论 0 条


推荐使用 读书导航 极客导航125啦极客导航(http://www.125la.com/jike.html)

Android开机动画有2种模式,一种是使用两张图片利用某种效果来造成动态,另一种则是用一个图包循环显示的方式来形成动态。

当然,这时因为mediaplayer已经起来,播放开机动画的时候可以同时播放开机音乐。

第一种双图片模式称为android模式

第二种图包模式称为movie模式

他们在循环时通过条件变量来选择其一:

   if (mAndroidAnimation) {
        r = android(); //Android原生的经典开机动画
    } else {
        r = movie(); //用户客户自定开机动画
    }

1、android模式

第一种android模式:

initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");
initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");

这两张图片都在frameworks/base/core/res/assets/images目录下,替换即可。

2、movie模式

这个用户可以自定义,也就是在打包时通过.mk文件拷贝到system/media中

xxx/device/media/bootanimation_7inch_horizontal_1024x600.zip:system/media/bootanimation.zip

上面的是我项目中的。

我在源码中看到开机动画可以存放的路径有如下:

static const char* mResourcePath[MNC_COUNT][PATH_COUNT] =
{"/system/media/bootanimation1.zip", "/custom/media/bootanimation1.zip", "/data/local/bootanimation1.zip", /*  0  */
 "/system/media/bootanimation2.zip", "/custom/media/bootanimation2.zip", "/data/local/bootanimation2.zip", /*  1  */
};

#endif

static const char* mAudioPath[2][PATH_COUNT] =
{"/system/media/bootaudio.mp3", "/custom/media/bootaudio.mp3", "/data/local/bootaudio.mp3", /*  bootaudio path  */
 "/system/media/shutaudio.mp3", "/custom/media/shutaudio.mp3", "/data/local/shutaudio.mp3", /*  shutaudio path  */
};

#define CUSTOM_BOOTANIMATION_FILE "/custom/media/bootanimation.zip"
#define USER_BOOTANIMATION_FILE   "/data/local/bootanimation.zip"
#define SYSTEM_SHUTANIMATION_FILE "/system/media/shutanimation.zip"
#define CUSTOM_SHUTANIMATION_FILE "/custom/media/shutanimation.zip"
#define USER_SHUTANIMATION_FILE   "/data/local/shutanimation.zip"

#define OEM_BOOTANIMATION_FILE "/oem/media/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"

至于bootanimation.zip的格式和要求,请看《Android开机动画bootanimation.zip文件制作以及注意事项

3、删除开机动画

具体代码在这目录下

\frameworks\base\cmds\bootanimation
Android.mk
AudioPlayer.cpp  //开机声音
AudioPlayer.h
BootAnimation.cpp  //开机动画
BootAnimation.h
bootanimation_main.cpp  //动画入口

在bootanimation_main.cpp中


    setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_DISPLAY);

    char value[PROPERTY_VALUE_MAX];
    property_get("debug.sf.nobootanimation", value, "1"); //默认是0 表示有动画,1表示关闭动画,这里被我关闭了
    int noBootAnimation = atoi(value); // 1--> true 0-->false
    ALOGI_IF(noBootAnimation,  "boot animation disabled");
    if (!noBootAnimation) {
	   ....//执行动画
	}

当然,如果你只是删除system/media/bootanimation.zip或者/data/local/shutanimation.zip等时候,也就说说没有了movie模式,Android系统会走android模式。

如果你一个也不想要,只需要把

property_get("debug.sf.nobootanimation", value, "1"); //默认是0 表示有动画,1表示关闭动画

默认改为1

或者把debug.sf.nobootanimation的值改为1即可。

目前就这些啦。

本文参考了网络大神分享,感谢,如下:

安卓开机logo和开机动画的几种实现方法

本文地址: https://www.125la.com/711.html
关注我们:请关注一下我们站长微信:扫描二维码125啦读书导航的微信号,微信号:yudemi(十三少)
版权声明:本文为原创或转载文章,版权归原作者所有,欢迎分享本文,转载请保留出处!
第一个读书导航

发表评论


表情