互联网频道 频道

定昌电子 | 全志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即可。


image.png


③开机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,在保证性能的同时拥有较低的功耗和发热。

1784278009446674.jpg


硬件方面,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、动画以及视频等启动界面定制,也是提升产品品牌价值的重要组成部分。

1784278040865458.jpg




特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
0
相关文章