推荐使用 读书导航 极客导航 :125啦极客导航(http://www.biumall.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即可。
目前就这些啦。
本文参考了网络大神分享,感谢,如下:
历史上的今天
暂无评论...
随机推荐
朱自清:洋槐
那个时刻我便为它幽幽地滋生出一种感动,自己的心似乎也变得干净而澄明。雨后清新的湿气萦绕书桌徘徊不去,我想这书桌会不会是用洋槐木做成的呢?否则为何它负载着沉重的思维却依然结实有力。洋槐给我一春一夏的绿色,到秋天,艳阳在树顶涂出一抹金黄,不几日,窗前已被装点得金碧辉煌。秋风乍起,金色的槐树叶如雨纷纷飘...
adb shell input的使用
查看当前机器支持adb shell input 的命令如下可以查询C:\Users\Administrator>adb shellroot@android:/ # inputinputusage: input ...input text <string>input k...
Android跳转WIFI界面的几种方式
前言简单记录一下Android跳转WiFi设置界面的启动方式。PS: 本文摘抄的,方便自己查阅。正文下面几种方式在Android P上测试OK。第一种try { Intent intent = new Intent(); intent.setAction("androi...
删除开机动画bootanimation
推荐使用 读书导航 极客导航 :125啦极客导航(http://www.biumall.com/jike.html)Android开机动画有2种模式,一种是使用两张图片利用某种效果来造成动态,另一种则是用一个图包循环显示的方式来形成动态。当然,这时因为mediaplayer已经起来,播放...
余秀华:一潭水
这是我喜欢的时刻:黄昏深了一些,夜色尚浅我的灵魂如此清澈,在树叶上滚动一灯一影,我如此赤裸裸地活着,影子可以更长些留一部分供养阴影 的确有水从四面八方涌来,向四面八方散去我在水里小幅度地摇摆把一些词语光亮的部分挑在草尖上我喜欢被诗句围困,再呕心沥血找一条出路 ...
乔叶:畏惧告别
我实际上是个十分口拙的人。而且,特别是在关键时刻尤为口拙。比如告别。告别似乎是一个普遍公认的隆重时刻,也是一个最能够让人感怀的时刻。越是这样的时刻,我就越是畏惧。倒不是怕伤心怕落泪,而是怕说话。——人多还好,你一句我一句也容易混过。最怕人少,尤其是只有两个人的时候,无论语言的茅草多么丰盛,也总会有...