1>开机第一帧splash
- 准备一张和屏分辨率相同(颜色位深8/24/32都可以)格式为png的图片,如720*1280的屏照片命名为logo.png
- 使用
device\qcom\common\display\logo\logo_gen.py
脚本生成 splash.img,将logo.png放在同一文件夹内使用以下命令
python ./logo_gen.py logo.png
- 将上面生成的splash.img烧录到手机,使用fastboot 烧录
adb reboot bootloader
fastboot flash splash splash.img
fastboot reboot
2>开机logo添加到编译中
- 将logo.png图片还放在该目录下device/qcom/common/display/logo/
- 修改vendor/qcom/build/tasks/generate_extra_images.mk:
diff --git a/device/qcom/common/generate_extra_images.mk b/device/qcom/common/generate_extra_images.mk
old mode 100644
new mode 100755
index 1bdab24..c7c5f8d
--- a/device/qcom/common/generate_extra_images.mk
+++ b/device/qcom/common/generate_extra_images.mk
@@ -15,6 +15,7 @@ INSTALLED_USERDATAIMAGE_TARGET := $(PRODUCT_OUT)/userdata.img
INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img
recovery_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.img
INSTALLED_USBIMAGE_TARGET := $(PRODUCT_OUT)/usbdisk.img
+INSTALLED_SPLASHIMAGE_TARGET := $(PRODUCT_OUT)/splash.img
endif
#---------------------------------------------------------------------
@@ -425,6 +426,30 @@ bootimage: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET)
endif
###################################################################################################
+#----------------------------------------------------------------------
+# Compile splash.img
+#----------------------------------------------------------------------
+define build-splashimage-target
+ $(hide) python device/qcom/common/display/logo/logo_gen.py device/qcom/common/display/logo/logo.png
+ $(hide) cp splash.img $(PRODUCT_OUT)/
+endef
+
+$(INSTALLED_SPLASHIMAGE_TARGET):
+ $(build-splashimage-target)
+
+ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_SPLASHIMAGE_TARGET)
+ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_SPLASHIMAGE_TARGET)
+
+.PHONY: splashimage
+splashimage: $(INSTALLED_SPLASHIMAGE_TARGET)
+
ifeq ($(TARGET_BOOTIMG_SIGNED),true)
.PHONY: otapackage
- 编译后out目录下会生成splash.img,修改烧录版本时的文件
rawprogram0_16G.xml
,找到label="splash"
的这一项,将filename
补上如下
<program SECTOR_SIZE_IN_BYTES="512" file_sector_offset="0" filename="splash.img" label="splash" num_partition_sectors="20480"
physical_partition_number="0" size_in_KB="10240.0" sparse="false" start_byte_hex="0x8a82400" start_sector="283666"/>
3>开机动画bootanimation.zip的制作
- 新建part0文件夹,把全部图片都按照顺序命名好放在该文件夹下,如0000.png、0001.png等
- 新建desc.txt文件,如
720 1280 15
p 0 0 part0
参数解释:
第一行前两个参数为分辨率宽和高,如720x1280;第三个参数是帧数(每秒播放的图片数):每秒15帧
第二行第一个参数p为标志符;第二个参数为循环次数(1为循环一次,0为无限循环); 第三个参数为两次循环之间间隔时间;第四个参数为对应的文件夹名。
- 使用压缩软件将part0文件夹和desc.txt文件一起压缩,压缩方式选择
存储
,压缩文件名为bootanimation.zip
#Linux环境下完成
#压缩bootanimation.zip的时候压缩模式必须为存储模式:
zip -r -0 bootanimation.zip part0 desc.txt
#压缩完成后,检查压缩包是否完整:
Unzip -t bootanimation
- 将bootanimation.zip编译到到系统,将压缩文件Bootanimation.zip放在
device/qcom/msm8953_64
目录下,修改文件device/qcom/msm8953_64下的msm8953_64.mk
#修改文件device/qcom/msm8953_64下的msm8953_64.mk,添加
PRODUCT_COPY_FILES +=
device/qcom/msm8953_64/bootanimation.zip:system/media/bootanimation.zip
4>adb替换开机动画bootanimation.zip
使用以下adb命令将制作好的bootanimation.zip导入手机
adn root
adb remount
adb push bootanimation.zip /system/media/
adb reboot