一、Android启动logo定制

1、搭建环境:

  由于之前是最小Linux系统,因此需要烧写Android系统;

  虚拟机之前有Android内核源码,编译后发现之前镜像搞出问题,所以重新解压 iTop4412_Kernel_3.0_20200410.tar.gz 镜像,重新编译,好在可以

正常运行。由于教程使用  iTop4412-android4.4-kernel_20180724.tar.gz  ,但是解压出现问题;还是用3.0的Android;

2、屏幕时4.3寸屏幕,所以制作logo时候需要对应屏幕大小;

3、制作显示logo照片

  1、打开美图秀秀,选择照片分辨率为272*480;照片背景为黑色;

  2、选择文字输入文字;最终效果如下

android logo 位置 android logo图片_加载

 

 4、将照片数据生成数组数据

  1、使用Image2Lcd打开上面保存的照片,使用下面配置输出数据

android logo 位置 android logo图片_数组_02

 

   扫描模式:垂直扫描、输出灰度:24位真彩色、宽度高度:272*480、去除包含图像头数据、上下颠倒;

5、将logo数组复制到镜像对应的头文件中

  1、在源码下drivers/video/samsung/iTop-4412.h文件中,找到  iBitmapData_q  数组,并将上面生成的数组内容,替换到该数组中;(4.3寸屏幕对应的数组大小为391680)

  2、如果是另一款大的屏幕,到这里就可以了;

  3、由于使用的是4.3寸屏幕,还需要修改,打开 drivers/video/samsung/s3cfb_ops.c, 找到s3cfb_draw_logo函数,

top = 0; // set logo initial position
        left = 0; // 可以修改logo初始位置
        index = 0;

//      if(lcd_size != 43){
        for (i = 0; i < 272; i++) {  // 修改这里 对应屏幕
                for (j = 0; j < 480; j++) {  // 修改这里对应屏幕高度
                        memset(fb->screen_base + (i + top) * line + (j + left) * 4 + 0, pLog[index], 1);//B
                        memset(fb->screen_base + (i + top) * line + (j + left) * 4 + 1, pLog[index+1], 1);//G
                        memset(fb->screen_base + (i + top) * line + (j + left) * 4 + 2, pLog[index+2], 1);//R
                        memset(fb->screen_base + (i + top) * line + (j + left) * 4 + 3, 0x00, 1);
                        index += 3;
                }
        }

6、编译源码,烧写镜像;

 二、制作Android开机启动动画

1、Android启动的动画都是有一个压缩包存放启动动画。在个/system/media/bootanimation.zip ,在这个文件中有两个文件夹和一个文本文件;

  Android启动动画的启动步骤:第一阶段会加载一部分照片,形成动画效果,有时候动画加载完成后,系统还没起来;这时候会进入第二阶段,加载一个照片直到系统完全起来;

  文件夹part1: 存放一系列的启动照片,形成启动动画;上面说的第一阶段;

  文件夹part2:存放最后加载的照片,直到系统起来;上面说的第二阶段;

  文本文件desc.txt:用于描述上面的启动照片如何加载;

272 480 5     // 272* 480代表分辨率,5:表示每秒钟播放5张照片
p 1 0 part1   // p:标识符,1循环播放一次,0阶段间隔时间,part1存放启动照片的文件夹;就是说,part1中的照片循环启动播放一次,段间隔表示:part1循环时,播放的间隔时间
p 0 0 part2  // 循环播放0次,就停在这个界面;
                    // 这一行必须要有换行

2、制做启动照片

  part1中的照片,需要有编号,从0开始;

  part2的编号需要接着part1中的编号顺序;

  将desc.txt、part1、part2两个文件夹、一个文件压缩成压缩包,将压缩方式改为存储方式,压缩成 bootanimation.zip 文件

3、烧写启动动画

  1、将bootanimation.zip 拷贝至platform-tools下面;

  2、正常启动开发板,连接OTG线

  3、输入以下的命令

D:\ITOP4412\software\platform-tools>adb root   // 说明连接正常

D:\ITOP4412\software\platform-tools>adb remount   // 重新挂在下
remount succeeded

D:\ITOP4412\software\platform-tools>adb push bootanimation.zip /system/media/    
[100%] /system/media/bootanimation.zip

D:\ITOP4412\software\platform-tools>adb shell   // 进入到shell
root@android:/ # chmod 777 /system/media/bootanimation.zip   // 修改压缩文件权限
root@android:/ # cd /system/bin  
root@android:/system/bin # bootanimation  // 直接调试,可在屏幕上看到效果,重启就是现在的效果