完整的patch见

https://download.csdn.net/download/a785722173/87036230

修改文件和Q平台大同小异

Android Q自定义开关机动画_a785722173的博客-CSDN博客Android Q自定义开关机动画====== Step 1: Enable MtkBootanimation ======/vendor/mediatek/proprietary/operator/frameworks/bootanimation/Rename Android_disable.mk to Android.mk /vendor/mediatek/proprietary/o...https://blog.csdn.net/a785722173/article/details/103557038

Android 12平台先按照Q的移植完以后还需要单独修改以下几点

1.vendor/mediatek/proprietary/operator / frameworks/bootanimation/MtkBootanimation/BootAnimation.cpp

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

此文件直接覆盖即可

bootanimation_CommonCFlags = -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
#####add by songhui for Bootanimation start
#bootanimation_CommonCFlags += -Wall -Werror -Wunused -Wunreachable-code
bootanimation_CommonCFlags += -Wall -Werror -Wunused -Wunreachable-code -Wno-deprecated-declarations

# bootanimation executable
# =========================================================

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_CFLAGS += ${bootanimation_CommonCFlags}

LOCAL_SHARED_LIBRARIES := \
    libOpenSLES \
    libandroidfw \
    libbase \
    libbinder \
    libmtkbootanimation \
    libcutils \
    liblog \
    libutils \

LOCAL_SRC_FILES:= \
    BootAnimationUtil.cpp \

#ifeq ($(PRODUCT_IOT),true)
#LOCAL_SRC_FILES += \
#    iot/iotbootanimation_main.cpp \
#    iot/BootAction.cpp

#LOCAL_SHARED_LIBRARIES += \
#    libandroidthings \
#    libbase \
#    libbinder

#LOCAL_STATIC_LIBRARIES += cpufeatures

#else

LOCAL_SRC_FILES += \
    bootanimation_main.cpp \
    audioplay.cpp \

#endif  # PRODUCT_IOT

LOCAL_MODULE:= mtkbootanimation

LOCAL_INIT_RC := mtkbootanim.rc

ifdef TARGET_32_BIT_SURFACEFLINGER
LOCAL_32_BIT_ONLY := true
endif
#####add by songhui for Bootanimation start 
include $(BUILD_EXECUTABLE)
####
#ifeq (OP01,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
#    ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
#        include $(BUILD_EXECUTABLE)
#    endif
#else ifeq (OP02,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
#    ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
#        include $(BUILD_EXECUTABLE)
#    endif
#else ifeq (OP09,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
#    ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
#        include $(BUILD_EXECUTABLE)
#    endif
#    endif
####
#####add by songhui for Bootanimation end

# libbootanimation
# ===========================================================

include $(CLEAR_VARS)
LOCAL_MODULE := libmtkbootanimation
LOCAL_CFLAGS += ${bootanimation_CommonCFlags}

LOCAL_SRC_FILES:= \
    BootAnimation.cpp

# add by songhui
#ifdef MSSI_MTK_CARRIEREXPRESS_PACK
#    ifneq ($(strip $(MSSI_MTK_CARRIEREXPRESS_PACK)), no)
#        LOCAL_CFLAGS += -DMSSI_MTK_CARRIEREXPRESS_PACK
#        LOCAL_CPPFLAGS += -DMSSI_MTK_CARRIEREXPRESS_PACK
#    endif
#endif

LOCAL_CFLAGS += ${bootanimation_CommonCFlags}
LOCAL_C_INCLUDES += \
    external/tinyalsa/include \
    frameworks/wilhelm/include

#### merge from frameworks/base/cmds/bootanimation  by songhui
###libhwui ----> libjnigraphics
LOCAL_SHARED_LIBRARIES := \
    libcutils \
    liblog \
    libandroidfw \
    libutils \
    libbinder \
    libui \
    libjnigraphics \
    libEGL \
    libETC1 \
    libGLESv2 \
    libmedia \
    libGLESv1_CM \
    libgui \
    libtinyalsa \
    libbase

LOCAL_SHARED_LIBRARIES += libterservice
LOCAL_C_INCLUDES += $(MTK_PATH_SOURCE)/hardware/terservice/include/

LOCAL_C_INCLUDES += $(TOP)/$(MTK_ROOT)/frameworks-ext/native/include
LOCAL_C_INCLUDES += external/skia/include
ifdef TARGET_32_BIT_SURFACEFLINGER
LOCAL_32_BIT_ONLY := true
endif
##### add by songhui for Bootanimation start
include $(BUILD_SHARED_LIBRARY)
#####
#ifeq (OP01,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
#    ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
#include $(BUILD_SHARED_LIBRARY)
#    endif
#else ifeq (OP02,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
#    ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
#        include $(BUILD_SHARED_LIBRARY)
#endif
#else ifeq (OP09,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
#    ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
#        include $(BUILD_SHARED_LIBRARY)
#    endif
#endif
#####add by songhui for Bootanimation end

3. se权限修改

sepolicy/non_plat/audioserver.te

allow audioserver bootanim_system_prop:file {read map getattr open };

sepolicy/non_plat/mtkbootanimation.te

allow mtkbootanimation bootanim_system_prop:file {read open getattr map};
allow mtkbootanimation proc_ged:file ioctl;
allowxperm mtkbootanimation proc_ged:file ioctl {0x6769 0x6704 0x6765 0x6766 };
allowxperm mtkbootanimation proc_perfmgr:file ioctl {0x6701 0x6703 0x6704 0x6710 0x670f};

ps:ioctl 需根据自己的项目打印avc 自行添加修改

MTK平台Android 12自定义开关机动画铃声相关推荐

  1. 高通平台 android 12 定时开关机

    高通平台 android 12 定时开关机 关机 关机实现 开机实现 总结 关机 AlarmManager取消了RTC_POWEROFF_WAKEUP 不支持通过AlarmManager设置关机唤醒设 ...

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

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

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

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

  4. Android P版自定义开关机动画

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

  5. android开关机动画铃声

    1. 开 关机 动画的启动 Android系统在init.rc中定义了很多Service,具体定义格式可以参考<Android Platform Developer's Guide>中的& ...

  6. MTK平台 Android4.0.3 定制关机动画

    实现效果是这样的,长按电源键弹出关机对话框,选择关机项将呈现关机动画和音乐直到正常关机完毕,下面说说具体思路及实现代码 找到长按电源键控制代码 /frameworks/base/policy/src/ ...

  7. Android 9.0 开关机动画流程分析

    Android开机动画流程的启动主要是在Surfaseflinger里面完成的,具体代码如下: /frameworks/native/services/surfaceflinger/StartProp ...

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

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

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

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

最新文章

  1. linux 自学系列: 常用文件结构
  2. js form中的onsubmit和action
  3. 且看且学Gradle--(1)Gradle入门
  4. php内存映射,如何用ZwMapViewOfSection将Driver分配的内存映射到App空间?
  5. python拼接两个数组_在Python中连接两个数组
  6. 前端学习(2041)vue之电商管理系统电商系统之只是在发布阶段生效
  7. php 两变量值互换 方法
  8. java编写p_如何编写可怕的Java代码?
  9. React_loadable
  10. win10下安装Mapx5.0进行MFC开发的方法
  11. 反计算机病毒技术论文,计算机病毒反病毒技术论文
  12. java setmethod_java.util.zip.ZipEntry.setMethod(int method)方法示例
  13. C# 开发的 webBrowser打开网页出现脚本错误解决
  14. 厉害了,我的谷歌小弟
  15. 为什么世界 500 强企业在逐步淘汰传统绩效考核
  16. keep-alive 的详细介绍
  17. nexus 向私服推送jar包 两种方式实现
  18. JavaScript 和读取服务器cookie
  19. 阿里云ECS服务器配置怎么选?
  20. 电容、频率之间的关系

热门文章

  1. 项目商业计划书撰写重点关注点
  2. 「移动端」H5页面长按复制功能实现
  3. nginx lua编程要点,看完肯定会提高你的编码能力
  4. ubuntu16.04中文乱码空格+fabric.js生成图片跨域问题
  5. 目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践
  6. cmake文件输出目录设置
  7. git 编写天龙排名
  8. 项目logback日志组件更换为log4j2日志组件步骤及注意事项
  9. 输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。寻找一种方案,使得剩下的数字组成的新数最小
  10. Ubuntu16.04 挂载vivoZ3手机存储器