MTK 一个分支兼容多客户开机Logo方案

简介: MTK 一个分支兼容多客户开机Logo方案

前言


源码开发的一般都涉及到多个分支,都是同一套源码,但面对不同的客户不同的定制,经常会多开分支。


最简单的就如每个客户开机logo都不一样,经常打系统的你肯定会很魔怔,今天换这家的logo明天另外一家的logo。


这篇就是为了解决这一痛点,如何在一个分支搞定 N 个客户的开机 Logo。


简单科普


MTK 的开机logo图片路径在

vendor\mediatek\proprietary\bootable\bootloader\lk\dev\logo\xxx 目录下


xxx 定义对应宏 BOOT_LOGO = wxga


device\mediateksample\型号\ProjectConfig.mk

vendor\mediatek\proprietary\bootable\bootloader\lk\project\型号.mk

修改 BOOT_LOGO 就能去对应的文件夹中找指定的开机logo


主要包含两张 xxx__kernel.bmp 和 xxx_uboot.bmp,图片格式必须是 bmp 的,注意不是改后缀就行了,而是原图保存的时候就选 bmp,这两张图片一般都是一样的,uboot 对应开机时第一帧图片,kernel 对应进入开机动画前的过程显示。其实 MTK 已经为运营商提供了多种分辨率对应开机logo文件夹


20191205181240254.png

但每次都要进入这么深的目录修改也是挺麻烦的,所以我写了个脚本从其它路径拷贝至对应的文件夹,编译的时候就打包我们拷贝的


具体实现


**1、在 device\mediateksample\型号\ProjectConfig.mk 中新增宏定义 **


用于判断是否需要从自定义的路径拷贝 logo 至 dev 路径下

MTK_CUSTOM_BOOTLOGO = yes

用于对应客户名称logo文件夹

MTK_CUSTOM_BOOTLOGO_FOLDER = tencent


以后每次编译只需修改 MTK_CUSTOM_BOOTLOGO_FOLDER 宏,


比如这次打包 tencent,下次打包 pdd,在下次打包 jd,不想拷贝时,修改 MTK_CUSTOM_BOOTLOGO = no


2、在 vendor/mediatek/BootLogo 下新建 tencent、pdd、jd 文件夹


文件夹中放置客户提供的两张开机logo图片 wxga_kernel.bmp wxga_uboot.bmp


3、编写 mk 和 sh 脚本文件


在 BootLogo 路径下新建如下的两个文件


Android.mk

用 MTK_CUSTOM_BOOTLOGO 判断是否需要执行 logo.sh 脚本文件,执行时传递参数 客户文件夹名称 和 目标文件夹名称

ifeq ($(MTK_CUSTOM_BOOTLOGO), yes)
LOCAL_PATH := $(call my-dir)
$(info ${TARGET_OUT})
COPY_FILES = $(shell ${LOCAL_PATH}/logo.sh ${BOOT_LOGO} ${MTK_CUSTOM_BOOTLOGO_FOLDER})
$(info ${COPY_FILES})
$(info pathl ${TARGET_COPY_OUT_VENDOR})
endif


logo.sh

接受参数,先删除 out 目录下的 lk.img 便于重新生成,烧写时验证效果,

从客户文件夹拷贝 bmp 到 BOOT_LOGO 文件下,判断名称是否是 wxga,

如果不是则根据 boot_logo 重新命名

#!/bin/bash
echo -e "logo_path=${2}"
echo -e "param_sytem_path=${1}"
echo -e "out_system_path=${OUT}" 
echo -n "remove old lk.img... "
rm  ${OUT}/lk.img 
echo "done."
target_logo_img_path=$(pwd)/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/${1}
echo target_logo_img_path=$target_logo_img_path
kernel_img_path=$(pwd)/vendor/mediatek/BootLogo/${2}/wxga_kernel.bmp
uboot_img_path=$(pwd)/vendor/mediatek/BootLogo/${2}/wxga_uboot.bmp
echo kernel_img_path=$kernel_img_path
echo uboot_img_path=$uboot_img_path
cp -f $kernel_img_path $target_logo_img_path
cp -f $uboot_img_path  $target_logo_img_path
if [ ${1} != "wxga" ]
then
   echo "target folder not wxga"
   mv ${target_logo_img_path}/wxga_kernel.bmp  ${target_logo_img_path}/${1}_kernel.bmp
   mv ${target_logo_img_path}/wxga_uboot.bmp  ${target_logo_img_path}/${1}_uboot.bmp
   echo "rename target logo done"
fi
echo -e "\n logo.sh make done...."


目录
相关文章
|
8月前
|
Web App开发 小程序 Android开发
mPaaS小程序问题之接入iOS后阿里百川初始化报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
126 1
|
Android开发 iOS开发 Windows
无影产品动态|iOS & Android客户端6.0.0版本发布,提升触控灵敏度,操作体验更丝滑
无影ios & Android客户端6.0.0版本发布!移动端触控体验更舒适,用户操作更便捷,一起来看看!
815 0
无影产品动态|iOS & Android客户端6.0.0版本发布,提升触控灵敏度,操作体验更丝滑
|
搜索推荐
Magisk模块:MIUI广告截拦&屏蔽更新
Magisk模块:MIUI广告截拦&屏蔽更新
2528 0
|
缓存 Android开发
Android 黑科技之非Root卸载系统应用
Android 黑科技之非Root卸载系统应用
153 0
|
搜索推荐 算法
FLStudio20水果软件覆盖升级21版本新功能介绍
万众期待的 FL Studio 21 版本正式发布上线,目前在紧锣密鼓的安排上线中,届时所有购买正版 FL Studio 的用户,都可以免费升级到21版! 按照惯例,本次新版也会增加全新插件,来帮助大家更好地创作。今天先给大家分享一下,新增的4款插件简单介绍,后续会有专门的解说功能视频发布。FL Studio 21下载:http://t.csdn.cn/tUhfV
545 1
|
Linux 区块链 C语言
Linux嵌入式开发——uboot添加logo显示功能
Linux嵌入式开发——uboot添加logo显示功能
381 0
Linux嵌入式开发——uboot添加logo显示功能
|
存储 Linux C语言
西门子LOGO!编程软件Soft Comfort V7.0版本的特色功能
西门子LOGO! Soft Comfort V7软件具有以下特点:支持从0BA0到0BA7的历代LOGO!系列产品;支持通过RS232,USB和以太网编程;支持所有的功能块(包括新功能块);支持用户自定义函数功能,函数的创建、导入导出、密码保护、用户文档操作;支持LOGO!0BA7联网操作,组态数据、网络中单元寻址、离线模拟、在线测试;支持数据记录操作。
西门子LOGO!编程软件Soft Comfort V7.0版本的特色功能
西门子LOGO!编程软件V7.0版本特色功能之数据归档
LOGO!0BA7支持将数据记录存储到内部存储区或SD卡上,使用标准的SD卡支持FAT12、FAT16或FAT32格式,内部容量最大8G,传输速度为每秒6兆字节,而SIMATIC记忆卡使用FAT格式,非常适合小数据包,具有更长的使用寿命和更多的使用次数。
西门子LOGO!编程软件V7.0版本特色功能之数据归档
|
存储 Oracle Ubuntu
一个在线安卓项目移植阿里云记录
将一个安卓书店项目移植到阿里云上
一个在线安卓项目移植阿里云记录
|
监控 5G Android开发
​Android 11发布,紫光展锐6款Soc同步适配
9月9日消息,谷歌发布了Android 11正式版系统,并已经向自家手机Pixel推送。这次的新系统主要包含三个主题:控制、人和隐私。在控制中谷歌对电源菜单进行了改进,隐私方面谷歌依旧是增加对App权限的控制,既可以对App进行一次性授权,还能够监控长时间不使用的App,再次打开App时需要重新授权。另外还包括5G体验优化、定位信息获取权限限制等功能。而且Android 11还支持无缝更新,即用户更新系统时可在后台完成,不影响用户当时使用从而节省了大量时间。
306 0
​Android 11发布,紫光展锐6款Soc同步适配