现象:
关机状态下,充电图片和动画错位问题
原因:
主要是因为分辨率没有配置对。
解决方案:
路径:
1.vendor/mediatek/proprietary/bootable/bootloader/lk/project/{project}.mk
2.device/mediateksample/{project}/ProjectConfig.mk
修改以上两个文件中BOOT_LOGO这和宏对应的分辨率是正确的,图中项目用的是wsvga,当然还有wxga,qhd等待分辨率
如果修改对了分辨率(对应目录下的图片也是当前分辨率的),还是存在充电动画错位问题的话
那么修改如下文件
路径:
vendor/mediatek/proprietary/external/libshowlogo/cust_display.h
微调相应的数值 直到对应为止
修改开机动画,是在公共目录下修改的才能生效的,但是会影响到别的项目,下图就是我改了自己的项目,影响到别人的惨痛教训!!!
客制化关机充电动画路径
vendor/mediatek/proprietary/external/libshowlogo/show_animation_common.c
图1可以看到,show_animation_common.c最终引入的是当前目录下的cust_display.h,
cust_display.h是用来客制化关机充电动画的,
这个是公共路径,修改这里会影响所有的项目
实际上,项目下也有cust_display.h这个文件
vendor/mediatek/proprietary/bootable/bootloader
/lk/target/{Project}/include/target/cust_display.h
1.方法1-懒人办法
在编译的时候,让项目下的cust_display.h覆盖公共路径下的cust_display.h,这样只会单独影响自己的项目,不会影响到别的项目!
device/mediateksample/{Project}/device.mk
#add by zcf for charging ui
$(shell cp -r
vendor/mediatek/proprietary/bootable/bootloader
/lk/target/{Project}/include/target/cust_display.h
vendor/mediatek/proprietary/external/libshowlogo/cust_display.h
)
这行代码,意味着编译自己项目时,把 vendor/mediatek/proprietary/bootable/bootloader
/lk/target/{Project}/include/target/cust_display.h的文件
代替 vendor/mediatek/proprietary/external/libshowlogo/cust_display.h
方法2
1.定义宏
device/mediateksample/项目名/ProjectConfig.mk
AUTO_ADD_GLOBAL_DEFINE_BY_NAME = CUSTOM_CHARGE_LOGO
CUSTOM_CHARGE_LOGO=yes
加入宏控制
vendor/mediatek/proprietary/external/libshowlogo/Android.mk
ifeq ($(CUSTOM_CHARGE_LOGO), yes)
LOCAL_CFLAGS += -DCUSTOM_CHARGE_LOGO
endif
3.修改代码
vendor/mediatek/proprietary/external/libshowlogo/cust_display.h
找到对应分辨率的,该项目用的分辨率是WSVGA
方法3
尝试引用自己项目下的libshowlog库,而不是用公共目录下的libshowlogo