Android P版自定义开关机动画

Google default关机流程只显示进度条,不会播放关机动画。如需自定义开关机动画,建议使用mtkbootanimation进行客制化

[SOLUTION]

====== Step 1: Enable MtkBootanimation ======

/vendor/mediatek/proprietary/operator/frameworks/bootanimation/
Rename Android_disable.mk to Android.mk

/vendor/mediatek/proprietary/operator/frameworks/bootanimation/MtkBootanimation/
Rename Android_disable.mk to Android.mk

/frameworks/base/cmds/bootanimation/
Rename Android.mk to Android_disable.mk

====== Step 2: Configure MtkBootanimation lib and exe ======

/vendor/mediatek/proprietary/operator/frameworks/bootanimation/MtkBootanimation/Android.mk

54ifeq (OP01,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
55 ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
56 include $(BUILD_EXECUTABLE)
57 endif
58else ifeq (OP02,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
59 ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
60 include $(BUILD_EXECUTABLE)
61 endif
62else ifeq (OP09,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
63 ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
64 include $(BUILD_EXECUTABLE)
65 endif
66endif
以上code删除,修改为
include $(BUILD_EXECUTABLE)

121ifeq (OP01,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
122 ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
123 include $(BUILD_SHARED_LIBRARY)
124 endif
125else ifeq (OP02,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
126 ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
127 include $(BUILD_SHARED_LIBRARY)
128 endif
129else ifeq (OP09,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
130 ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
131 include $(BUILD_SHARED_LIBRARY)
132 endif
133endif
以上code删除,修改为
include $(BUILD_SHARED_LIBRARY)

====== Step 3: Add resources ====== 

生成自定义bootanimation.zip和shutanimation.zip,并修改Makefile将resource文件放至目录system\media\,参考写法:

$(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip
$(LOCAL_PATH)/shutanimation.zip:system/media/shutanimation.zip

具体改法请参考FAQ03051(包括开关机铃声文件生成),动画文件格式要求请参考FAQ10590

====== Step 4: Enable Shutdown Animation ====== 

/vendor/mediatek/proprietary/frameworks/base/services/core/java/com/mediatek/server/MtkShutdownThread.java
374 public static int isCustBootAnim() {
375 int mode = DEFAULT_MODE;
376 if(mShutOffAnimation == -1) {
377 String sysProp = SystemProperties.get(OPERATOR_SYSPROP, "0");
378 if(sysProp.equals("OP01")) {
379 if (RatConfiguration.isLteFddSupported() || RatConfiguration.isLteTddSupported()) {
380 mode = ANIMATION_MODE;
381 } else {
382 mode = DEFAULT_MODE;
383 }
384 }
385 else if(sysProp.equals("OP02")) {
386 mode = ANIMATION_MODE;
387 }
388 else if(sysProp.equals("OP09")) {
389 mode = ANIMATION_MODE;
390 }
391 else {
392 sysProp = "NONE";
393 mode = DEFAULT_MODE;
394 }

+++ mode = ANIMATION_MODE; //Enable Shutdown Animation

395 mShutOffAnimation = mode;
396 Log.i(TAG,"mShutOffAnimation: " + mode + " (" + sysProp + ")");
397 return mode;
398 } else {
399 return mShutOffAnimation;
400 }
401 }

====== Step5: Init AudioPath ====== 

vendor/mediatek/proprietary/operator/frameworks/bootanimation/MtkBootanimation/BootAnimation.cpp
bool BootAnimation::threadLoop()
{
bool r;
// We have no bootanimation file, so we use the stock android logo
// animation.
sp<MediaPlayer> mediaplayer;

--- const char* resourcePath = NULL;
+++ const char* resourcePath = initAudioPath();

status_t mediastatus = NO_ERROR;
if (resourcePath != NULL) {
bPlayMP3 = true;
ALOGD("sound file path: %s", resourcePath);
mediaplayer = new MediaPlayer();
……
}
……
}

====== Step6: Add mtkbootanimation Packages ======

Add mtkbootanimation packages to device.mk, and make clean before rebuild all load.

Add below codes in alps\device\mediatek\$(platform_name)\device.mk
PRODUCT_PACKAGES += mtkbootanimation
PRODUCT_PACKAGES += libmtkbootanimation

Android P版自定义开关机动画相关推荐

  1. Android系统(221)---O版自定义开关机动画

    O版自定义开关机动画 O较前面的版本有更改,为方便自定义开关机动画我司,使用mtkbootanimation自定义开关机动画: [SOLUTION] O版会根据配置生成bootanimation或者m ...

  2. MTK平台Android 12自定义开关机动画铃声

    完整的patch见 https://download.csdn.net/download/a785722173/87036230 修改文件和Q平台大同小异 Android Q自定义开关机动画_a785 ...

  3. MTK平台修改Android动画,Android MTK平台修改开关机动画和开机logo

    转载请注明出处:http://blog.csdn.net/u011479494/article/details/50682089 一.修改开机logo 由于我的机器分辨率为540*960 替换:med ...

  4. Android MTK平台修改开关机动画和开机logo

    转载请注明出处:http://blog.csdn.net/u011479494/article/details/50682089 一.修改开机logo 由于我的机器分辨率为540*960 替换:med ...

  5. Android Q MTK平台开关机铃声

    google 默认开机动画代码在framework/base/cmds/bootanimation MTK 开机动画代码在vendor/mediatek/proprietary/operator/fr ...

  6. Android 8.0 开机动画,RK3326 android10.0(Q) 开机logo+开关机动画替换

    RK3326 android10.0(Q) 开机logo+开关机动画替换 2020年08月14日 | 萬仟网移动技术 | 我要评论 开机logouboot和kernel阶段的logo分别为开机显示的第 ...

  7. android 开关机动画

    开机画面,按照国际惯例,一般是分为2屏,当然也有3屏的说法,不管怎样,我这里说得就是最后的一屏,按照bootanimation的字面意思翻译,大概也就是开机动画的意思,那这就不说第几屏了,直接用&qu ...

  8. android开机动画多长时间_android开关机动画和铃声配置

    12. 分区修改 A 修改分区文件mediatek\build\tools\ptgen\partition_table.xls B 修改分区头文件mediatek\custom\project\com ...

  9. MTK Android 13平台开关机动画铃声客制化

    MTK Android 13平台开关机动画铃声客制化 Android T和S的差异很大 主要是MtkShutdownThread.java和ShutdownThread.java差异 未完,待更新,填 ...

最新文章

  1. HDU1201 18岁生日【日期计算】
  2. python剑指offer替换空格_02_替换空格【python】
  3. for循环优化_前端js if判断以及for循环该如何写的更好,优化upup
  4. 水题公开赛【比赛公告】
  5. Rails不用localhost访问的时候很慢
  6. linux scp命令_太麻烦!使用 Linux scp 命令下载文件到 Windows 桌面
  7. 【进击大厂之力扣每日打卡】七进制数
  8. python办公入门经典_Python3入门经典100例
  9. html设置在父元素底部对齐,如何将div对齐到父元素的底部
  10. jquery利用appendTo动态创建元素
  11. listview数据下载后不更新
  12. jdk5.0下支持JSR-223的方法
  13. matlab如何更改程序中所有同名_MATLAB作图实例:52:添加网格线并编辑位置
  14. 新唐 Nuvoton M031 入门 点亮板载LED
  15. Thingworx自定义扩展开发(二)- Widget Demo Coding
  16. Windows凭据管理器
  17. python用while做九九乘法表_Python 语法控制(含用while和for实现九九乘法表)
  18. ios safari 模拟器_web测试-ios设备模拟器(iOS Simulator)
  19. python 爬虫 金山词霸每日一句 优美的文段中英文爬取自编
  20. LSM存储引擎基本原理

热门文章

  1. 【蓝桥杯单片机】实战之基础停表
  2. 2c语言程序设计_大学生学C语言的理由是什么
  3. CAN 总线嵌入式驱动编程
  4. PHP生产一个验证码图片,PHP使用GD库生成验证码图片,实现图片验证
  5. java保护表格_读密码保护的工作表(版本 - Excel中95,97-2003)的Java
  6. 【重难点】【分布式 01】RESTful、RPC 对比、Dubbo、Spring Cloud 对比、Eureka、Zookeeper、Consul、Nacos 对比、分布式锁
  7. Oracle一些基本术语英汉对照
  8. OpenCV数据结构
  9. 超简单开发自己的php框架一点都不难
  10. 洛谷—— P2733 家的范围 Home on the Range