定昌电子 | 全志A133如何实现开机Logo与开机动画?解析Android开发板启动界面定制方案
在广告机、智慧显示终端、工业HMI、会议平板、自助终端等Android设备开发过程中,除了硬件性能和接口配置外,板子开机界面的品牌化定制也是产品开发的重要组成部分。而如何修改开机Logo和开机动画,下面给出基于全志A133平台成熟的实现方案,主要结合全志A133启动流程,对开机Logo、开机动画以及开机视频如何实现进行解析,并以定昌电子基于全志A133平台的DC-A133/DC-B133开发板为例,介绍其在实际项目开发中的应用价值。
Android设备开机界面由哪些部分组成?
很多开发者将开机过程中看到的所有画面统称为"开机动画",实际上Android设备启动画面通常由三个阶段组成。
第一阶段是Boot Logo,就是开机logo,即按下电源键后最先显示的品牌Logo,它由U-Boot加载完成,在Android系统尚未启动之前便已经显示,因此能够给用户最快的开机反馈。
第二阶段是Boot Animation,也就是Android系统进入Framework阶段后播放的动画,它通常由bootanimation.zip文件组成,可以实现连续图片动画播放,也是Android设备最常见的品牌展示方式。
第三阶段则是Boot Video,即开机直接播放MP4格式的视频文件,相较于图片动画,视频能够展示更加丰富的品牌内容,因此越来越多的智慧终端开始采用视频作为开机展示界面。
正是由于三者处于Android启动流程中的不同阶段,因此其实现方式、存储位置以及修改方法也各不相同。
Boot Logo显示内容
开机logo是属于Bootloader阶段显示的内容,此时U-Boot只能调用较为简单的BMP格式的图片解码。目前全志A133平台可以采用24位BMP图片作为启动Logo,尺寸不能大于1920x1080,然后不得超过实际要点亮的屏幕分辨率,比如搭载了800x1280的mipi图片,则BMP 开机Logo图片不得超过800x1280。
Tips:①由于uboot的默认背景是黑色,因此不必一定要搞满屏的图片,只搞正中间的小logo即可。logo默认居中显示。
②导出24位位图方法:在PS点存储为,选择BMP格式,在如下弹框中选择24(如下图),命名成bootlogo.bmp即可。

③开机Logo BMP图片体积不得超过4MB,保证读取速度和启动效率
开机Logo替换方式
以定昌的全志A133平台开发板为例,主要有三种Logo替换更新方式:
1、对于拥有官方开源sdk的客户
如果拥有完整SDK,开发人员可以直接替换SDK中的bootlogo.bmp文件,重新编译固件后烧录设备即可完成修改,示例代码如下:
./longan/device/config/chips/a133/configs/b6/android/bootlogo.bmp
删除掉
./longan/out/pack_out/bootlogo.bmp
./longan/out/pack_out/boot-resource/bootlogo.bmp
再重新整编固件烧录即可生效.
2、adb 的方式替换
adb root
adb shell mount /dev/block/mmcblk0p1 /mnt
adb push bootlogo.bmp /mnt/bootlogo.bmp
adb shell sync
adb shell reboot
通过ADB直接将新的bootlogo.bmp写入Boot分区,无需重新烧录整个系统镜像,大大提升调试效率。
3、app的方式替换
byte[] logo = simpleReadFile("/sdcard/Download/bootlogo.bmp");
simpleWriteFile("/mnt/logo/bootlogo.bmp",logo);
Log.e("write logo","ok");
在Android应用程序中直接调用文件复制接口,将新的Logo文件写入指定目录,实现用户自主更换Logo,甚至结合服务器实现远程下载更新。
更换开机动画方式
Boot Animation属于Android系统启动阶段,其核心文件为bootanimation.zip动画包,bootanimation.zip的制作在网上有很多教程,篇幅问题这里不赘述。更换开机动画主要也有三种方式:
1、源码级更换开机动画
在Android源码中替换掉./android/device/softwinner/ceres-b6/media/bootanimation.zip
去掉如下代码前面的#号即可. 如无#号可以无视
softwinner/ceres-b6/ceres_b6.mk中
# bootanimation
#PRODUCT_COPY_FILES += \
# $(LOCAL_PATH)/media/bootanimation.zip:system/media/bootanimation.zip
2、adb shell的方式更换开机动画.
可以利用ADB将动画文件复制到/data/local目录,也就是将做好的bootanimation.zip push到/data/local/bootanimation.zip即可.,一般来说,系统会优先检测并使用此目录的动画
3、app方式更换开机动画.
对于需要频繁更新品牌内容的项目,还可以通过自己的服务器下载开机动画,然后使用如下代码更换
byte[] ani = simpleReadFile("/sdcard/Download/bootanimation.zip");
simpleWriteFile("/data/local/bootanimation.zip", ani);
Log.e("testWirte", "copy boot ani ok");
另外对于开机视频更换,系统会优先选用/data/local/boot.mp4,更换方法同开机动画的源码级更换方式,需要自己仿照开机动画去PRODUCT_COPY_FILES补充内容。
品牌定制
对于ODM、OEM项目来说,启动界面的定制只是整个产品开发中的一个环节,真正影响项目周期的是定制厂商对嵌入式开发平台本身的成熟度。
从定昌电子官网了解到,作为一家长期专注于嵌入式ARM平台研发的企业,官方推出的全志A133平台的DC-A133/DC-B133开发板是面向中低端Android智能终端打造的一款高性价比成熟主板。该产品基于全志A133四核Cortex-A53处理器设计,主频最高可达1.5GHz,在保证性能的同时拥有较低的功耗和发热。

硬件方面,DC-A133/DC-B133支持MIPI、LVDS显示接口,并可通过刷写屏参灵活切换不同显示方案,降低了客户适配不同液晶屏的开发成本。产品提供1GB+8GB、2GB+16GB等多种存储配置,支持百兆以太网、Wi-Fi以及蓝牙组合方案,同时配备4PIN喇叭接口,能够满足多媒体显示设备对于网络通信、音视频播放等方面的需求。
软件方面,该平台支持Android 10以及Buildroot系统,定昌电子官方同时提供完善的SDK、系统源码、开发文档及技术支持服务,开发人员不仅能够快速完成系统移植和应用开发,还能够根据项目需求完成开机Logo、Boot Animation、开机视频、显示参数以及外围硬件等多项定制开发,大幅缩短产品研发周期。
对于希望快速推出品牌化产品的客户,定昌这种"硬件平台+系统定制+技术支持"的一体化开发方式,能有效降低开发门槛,提升产品上市效率。
典型应用场景
基于全志A133平台的开发板目前已经广泛应用于智慧广告机、数字标牌、会议预约终端、自助点餐机、工业HMI、智能门禁、人脸识别终端、智慧校园终端、医疗信息显示终端以及各类Android显示控制设备。在这些项目中,除了稳定运行Android系统外,开机Logo、动画以及视频等启动界面定制,也是提升产品品牌价值的重要组成部分。
