开机logo

首先修改开机logo要从哪里入手呢?先看看源码

void display_image_on_screen()2 {3     struct fbimage default_fbimg, *fbimg;4     bool flag = true;5 6     fbcon_clear();7     fbimg = fetch_image_from_partition();      //从splash镜像分区抓取图片8     if(fbimg){9         dprintf(CRITICAL, "zbzhuang### ->fetch_image_from_partition\n");
10     }
11
12     if(!fbimg) {                              //如果splash.img分区的内容不存在或者被擦除则从splash.h头文件从获取要显示图像的数组
13         dprintf(CRITICAL, "zbzhuang### ->not fetch_image_from_partition\n");
14         flag = false;
15         fbimg = &default_fbimg;
16         fbimg->header.width = SPLASH_IMAGE_HEIGHT;
17         fbimg->header.height = SPLASH_IMAGE_WIDTH;
18 #if DISPLAY_TYPE_MIPI
19         fbimg->image = (unsigned char *)imageBuffer_rgb888;
20 #else
21         fbimg->image = (unsigned char *)imageBuffer;
22 #endif
23     }
24
25     fbcon_putImage(fbimg, flag);
26 }

由源码可以知道修改开机logo有两种方式:

方法一:利用工具根据图像生成splash.img镜像之后,使用fastboot重新刷splash.img分区。

方法二:利用工具将图片重新生成splash.h头文件的数据,替换相应的头文件就OK

通过验证可以知道方法一适用用于高分辨率的图片,也能适用于小分辨率的图片,而方法二只适用于小分辨率的图片,所有基本上不使用方法二。

方法一
利用工具根据图像生成splash.img镜像之后,使用fastboot重新刷splash.img分区。

现在基本上平板,手机都是高清显示屏了,所以准备一张1920*1080的图片和生成splash.img镜像的脚本工具—>logo_gen.py。

脚本路径device\qcom\common\display\logo\logo_gen.py

(1)先把图片和脚本文件放在同一目录。

(2) sudo apt-get install python-imaging

安装python成功后运行如下脚本:(现在基本的linux系统都已经装好了,可以直接用)

(3) python ./logo_gen.py snapdragon.png

这样就可在当前目录下生成splash.img。

烧写 splash.img

1 adb reboot bootloader         //进入bootloader模式
2 fastboot flash splash_v splash.img         //将镜像刷入相应分区(分区名字可能各个厂商的名字不一样)
3 fastboot reboot               //重启平板电脑

方法二
准备一张png图片logo.png,分辨率不要超过320*200,在ubuntu下敲如下三行命令,要事先安装好conver xxd等工具 。logo_new.png 图片。

convert logo.png -recolor "0 0 1,0 1 0,1 0 0" logo_new.png   //将图片重新着色BRG转C成rgb
convert -depth 8 logo_new.png rgb:logo_raw.raw    //将png格式转成raw图片格式
xxd -c16 -i logo_raw.raw > splash.h  //生成对于的splash.h头文件的数组

用splash.h文件中数组的内容替换bootable/bootloader/lk/platform/msm_shared/include/splash.h中的数组imageBuffer_rgb888,同时修改分辨率。

 #define SPLASH_IMAGE_WIDTH     320         #define SPLASH_IMAGE_HEIGHT    200

然后重编lk,将生成的emmc_appsboot.mbn烧进单板即可。

注意:方法二需要保证splash分区为空,splash分区非空,方法二是不起作用的,所以用方法二之前,最好先擦除splash分区。原因如下

修改fastboot显示图片

我通过aboot.c的源码发现在进入fastboot模式之后显示的图片也是splash.h文件中数组的内容,所有我们想要修改fastboot显示图片也可以通过第二种方法进行修改。

开机动画

一.Android默认开机动画是显示“android”字样的图片,想要替换掉“android”,需要用到bootanimation.zip.

二.原生Android系统中好像没有bootanimation.zip,可以把bootanimation.zip文件放到设备system/media目录下(需要root权限)。放到此目录下后,开机会自动加载该文件里的图片,作为动画。

三.有的厂商自己做了开机动画,所以我们也可以通过adb pull 命令从system/media 目录下把bootanimation.zip文件下载到电脑上,因为这些文件都是只读文件,所以我们需要在dos界面获取root权限。然后设置’systen’为可写。


adb root //获取root权限,adb remount 需要root权限adb remount  //将 'system' 部分置于可写入的模式 ,默认 'system' 部分是只读的

有时候会存在adb remount 失败的情况

C:\Users\wpp>adb remount
remount of /system failed: Read-only file system
remount failed

当出现这种情况我们需要在adb remount 之前输入adb disable-verity


C:\Users\wpp>adb disable-verity
Verity disabled on /system
Now reboot your device for settings to take effectC:\Users\wpp> adb rebootC:\Users\wpp> adb rootC:\Users\wpp> adb remount
remount succeeded

这时候我们就能把system/media 里面的文件拿出来和写入文件了

四.bootanimation.zip内容和制作
1.当我们有现成的bootanimation.zip文件的时候,我们可以解压该文件一般会得到

part0 part1 两个文件夹和1个desc.txt文件

2.上面的文件夹里面存放的就是开机要显示的图片。一般来说,最后那个文件夹存放一张照片,然后设置成循环播放,就可以在进入系统界面之前一直有画面,不会出现黑屏的情况(所有动画都做完了,但是还没进入到系统界面就会出现黑屏)。

3.part0里面保存的必须是和desc.txt中分辨率相同的图片(后面会说desc.txt文件怎么看分辨率),可以替换成自己想用的一组图片,一般为.jpg .png 格式的图片。

4.desc.txt里面的内容,比如是这样的:

 1920 1080 60p 1 0 part0p 0 0 part1

第一行的1920 1080 60前面两个数据代表像素,即:1920*1080;

第一行第三个数据:60代表的是每秒播放多少帧;

第二行第一个字母 “p”不知道什么玩意儿,固定以他为开头;

第二行第二个数字1,代表重复播放多少次,"1”即代表播放1次(0侧代表无限循环播放,应该是直到代码里面设置的动画时间耗完为止);

第二行第三个数字“0”代标的是前后两帧之间间隔时间/帧数(比如每秒播放10帧,如果这个数字设为10,则延迟1秒了,待确认);

第二行第四个参数,这就是上文说到的和文件夹名称对应的了,如果是folder~则文件夹名称也是这个,我的5.1里面只设置了一个part0,修改的时候我也将他默认为part0了。

第三行也是一样的。

不过这里有个严重问题一定要注意,编写完成保存之前要记得换行,即敲回车键!!!分成如我上面显示的那样,因为用记事本打开是在一行显示的,要不然在替换原生动画之后会只是一个图片。切记,我在这个地方大意了,搞了很久。

5.最后就是压缩了,压缩一定要选仅存储的方式进行压缩(这里要注意,有的人可能在做好文件夹和编写好txt文件后准备压缩,但是又添加了一层文件夹,这会导致识别不了动画资源,在从logo进入到动画的时候就是一片黑屏,直到Android系统启动后才OK)。

最后使用adb push命令把生成好的bootanimation.zip文件 push到 /system/media/ 目录下,再开机就可以显示新的开机画面了。

更改高通平台开机logo和开机动画以及fastboot界面显示相关推荐

  1. 教你去除开机root字样(酷派大神F2、酷派高通平台手机)

    2019独角兽企业重金招聘Python工程师标准>>> 有必要再一次强调:刷机有风险,需慎重! 首先说说酷派高通平台去除root字样的方法:         给酷派手机刷过机的朋友是 ...

  2. 开机动画适配方案_高通平台刷机包定制方案适配-ROM定制开发入门到精通

    高通平台刷机包定制方案适配-ROM定制开发入门到精通 根据新老平台,高通平台线刷包至少要这样几个基本文件,但不一定全部都需要: 8x10_msimage.mbn----平台镜像,是个完整的磁盘,就是s ...

  3. 高通平台环境搭建,编译,系统引导流程分析 .

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  4. 高通平台第一帧splash和Bootanimation修改

    高通平台第一帧splash和Bootanimation A.Splash image/第一帧图像/开机logo(有很多叫法,但比较官方的一般叫bootloader logo或者LK display l ...

  5. android 高通平台有前途吗,华为鸿蒙计划要适配高通平台了,可以告别安卓搭载鸿蒙OS了?...

    鸿蒙走出这一步是可以想象到的,看来华为打造这个系统希望的结果是万物皆可盘呀,所以一开始就提出了开源,也就意味着这次是高通,下次就可以是联发科,甚至更多的手机品牌也完全就可以搭载!早期我们一直在说国产手 ...

  6. 高通平台启动log概述(PBL log、sbl1 log、kernel log)

    高通平台启动log概述(PBL log.sbl1 log.kernel log) 在嵌入式linux的调试过程中log有着至关重要的地位,等同于医生的CT报告.能够熟悉启动各个阶段的log,如PBL阶 ...

  7. 高通平台使用64位win7系统无法安装驱动的解决方法

    XP停止服务,于是果断告别XP换上win7,可是突然发现高通平台驱动在windows 7 64位电脑上安装不了有木有?!   其实不用担心!这个很好搞定哦! 首先咱们得知道64位的win7考虑了系统安 ...

  8. 高通平台调试Nxp Smart PA-TFA9897

    前言 新项目对speaker的输出响度和声音质量有一定的要求,所有选择了Nxp smart PA-TFA9897,其实高通平台有WSA系列的smart PA,由于后期tuning的复杂性,选择了Nxp ...

  9. 高通平台避免误入FFBM模式和退出FFBM

    1.高通平台如何避免误入FFBM模式 修改init直接过滤掉该模式,无论misc分区被修改成什么样,都直接启动到Android系统,而不进入FFBM.修改的代码很少,如下. 修改代码后,执行命令mak ...

最新文章

  1. HTML5 canvas画图
  2. Redis配置不当可导致服务器被控制,已有多个网站受到影响 #通用程序安全预警#...
  3. java线程 kill linux_linux查看进程和线程的命令
  4. java jvm 参数配置_Java 从小白到大牛,JVM 不得不知的一些参数和配置
  5. 区块链预言机(2)预言机概念
  6. mysql-数据库的设计三范示与ER模型
  7. django 数据库交互2
  8. 分布式常见面试题整理
  9. java参考文献大全
  10. 怪兽充电启动招股:2020年业绩下滑五成,小米、高瓴参与认购
  11. python爬虫运行时电脑无响应_Python爬虫爬资源时由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。怎么破?...
  12. iphone手机视频通讯开发环境搭建
  13. Elasticsearch - 短语匹配(match_phrase)以及slop参数
  14. spring interation学习-01发送jms消息
  15. 8.6 空间曲面及方程
  16. 吴恩达神经网络与深度学习——深度神经网络
  17. 抓取网易云评论,生成词云图
  18. 既然都有了NS,何不再入一个喷喷(Splatoon 2)【下】
  19. tzc 1345 推箱子
  20. 对.ART域名注册局的投诉(工信部版)

热门文章

  1. 手机最强 Python 编程神器,在手机上运行 Python 不再是梦
  2. 脑芯编 | 窥脑究竟,结网造芯(三)
  3. 抖音、快手、脸书陷舆论漩涡,CEO纷纷致歉,AI算法不灵了?
  4. maya拆完uv,画好贴图后导入,模型上贴图显示混乱
  5. 啦啦!记录学校C语言作业
  6. C#--Link to sql语法大全
  7. EXCEL公式引用得是空的单元格,但是却不返回空““,而是返回0是怎么回事? 怎么处理呢?
  8. Cadence Allegro添加尺寸标注图文教程及视频演示
  9. 15万甚至30万以内的SUV值不值得买?
  10. Javescript第二周学习