android开机动画多长时间_Android开机动画及黑屏[通俗易懂]

android开机动画多长时间_Android开机动画及黑屏[通俗易懂]platform:RK3399OS:Android7.11.Android各阶段动画Android动画主要分为关机充电动画和开机动画;开机动画又分为三个阶段:uboot阶段动画、kernel阶段动画、Android阶段动画。1.1uboot开机动画Uboot阶段由于大部分环境和驱动没有准备好,所有此阶段显示直接采用的framebuffer;而且严格来说只是图片,并不是动画。要在uboot阶…

大家好,又见面了,我是你们的朋友全栈君。

platform:RK3399

OS:Android 7.1

1. Android各阶段动画

Android动画主要分为关机充电动画和开机动画;开机动画又分为三个阶段:uboot阶段动画、kernel阶段动画、Android阶段动画。

1.1 uboot开机动画

Uboot阶段由于大部分环境和驱动没有准备好,所有此阶段显示直接采用的framebuffer;而且严格来说只是图片,并不是动画。 要在uboot阶段显示logo,需要先在dts中打开配置

rockchip,uboot-logo-on = <1>;

然后替换源码SDK中kernel目录下的logo.bmp;重新编译resource.img即可生效。

1.2 kernel开机动画

Kernel阶段的logo图片更换比Uboot阶段的更加简单,只需要替换SDK中kernel目录下的logo_kernel.bmp即可。仍然是重新编译resource.img生效。

1.3 Android开机动画

到了Android启动阶段,就可以真正显示动画了。不过这里的动画也是一系列png图片以每秒一定帧数播放产生的视觉效果。下图是一个Android开机动画的示例。android开机动画多长时间_Android开机动画及黑屏[通俗易懂]

1.4 关机充电动画

除了开机动画,关机充电也支持动画显示。下图是一个充电电池图标。android开机动画多长时间_Android开机动画及黑屏[通俗易懂]

步骤1:支持关机充电:

uboot-charge {

compatible = “rockchip,uboot-charge”;

rockchip,uboot-charge-on = <1>;

rockchip,android-charge-on = <0>;

};

步骤2:替换关机充电图标

resources

├── charge_anim_desc.txt

└── images

├── battery_0.bmp

├── battery_1.bmp

├── battery_2.bmp

├── battery_3.bmp

├── battery_4.bmp

├── battery_5.bmp

└── battery_fail.bmp

上述目录是充电动画资源目录。建议名称和数量不要更改,仅更换图片内容即可。

步骤3:打包资源,执行下面的打包指令

sudo ./tools/resource_tool/pack_resource.sh tools/resource_tool/resources/ ../kernel/resource.img resource.img tools/resource_tool/resource_tool

执 行 后 会 将 tools/resource_tool/resources/ 目 录 下 的 动 画 图 片 资 源 打 包在../kernel/resource.img,生成新的 resource.img 在 uboot 根目录。

如果需要更高的定制化,那么就需要修改charge_anim_desc.txt文件

#default anim delay. //默认动画延时时间ms

delay=900

#only show current level’s pics.//是否只显示当前电量级别的动画,关闭可以看到电量叠加

only_current_level=false

#reserve.//错误的时候显示的图片

bat_error=images/battery_fail.bmp

#num of level configs. //这里可以根据需要定义图片数量

levels=6

//每张图片对应的电量,总的数量要和上面levels一致。

#min_level(min cap level to match this level-conf), num(num of pics in this level-conf)

#prefix(prefix of pics’ path in resource.img)

#’num=1 prefix=test’ means: test.bmp

#’num=2 prefix=test’ means: test00.bmp & test01.bmp

min_level=0 num=1 prefix=images/battery_0

min_level=20 num=1 prefix=images/battery_1

min_level=40 num=1 prefix=images/battery_2

min_level=60 num=1 prefix=images/battery_3

min_level=80 num=1 prefix=images/battery_4

min_level=100 num=1 prefix=images/battery_5

2. Android开机动画

Android 开机动画由多幅图片,逐帧播放,形成动画的效果。播放的具体效果,由配置文件desc.txt中的参数来决定。

2.1 文件格式

动画资源文件统一命名为bootanimation.zip的zip压缩包。内部包含的文件如下面目录所示。

.

├── desc.txt //配置文件

└── part1 //播放的图片目录,可以有多个,比如:part0,part1…

2.2 语法规则

desc.txt的具体内容如下:

1980 1200 15 —-第一行

p 3 10 part1 —-第二行

p 1 0 part1 —-可以有多个目录

第一行参数: – 1920 1080这两个是显示时候的分辨率从,一般就是屏幕的分辨率。 – 15 帧率,就是一分钟播放的图片张数,可以根据需要设置,常见的有24,25,30等。

第二行参数 – p 表示播放 – 3 表示循环次数;0表示无限循环,3就表示循环3次。 – 10 表示每张图片之间延迟的时间,单位ms – part1 就是上面的存放图片的目录名称

2.3 更换步骤

步骤1:更换part目录中的图片,注意图片要按序号命名。比如001.png,002.png….

步骤2:按需求和实际情况修改desc.txt文件

步骤3:将资源文件打包成zip文件。在linux下打包

zip -r -0 bootanimation.zip part1 desc.txt在windwos下打包,注意选择“仅存储”,且不要新建bootanimation文件夹,而是直接打包文件。

步骤4:使更换的开机动画生效 – 临时生效

执行命令并重启设置。

adb push bootanimation.zip system/media/完全替换 在板级配置文件rk3399.mk中增加如下内容

#for bootanimation

PRODUCT_COPY_FILES += \

device/rockchip/rk3399/bootanimation.zip:system/media/bootanimation.zip

在rk3399中还需要更改另外一处地方: 替换device/rockchip/common目录下的bootanimation.zip

2.4 开机黑屏问题

现象描述:当Android开机动画播放完毕,但是Launcher还没有起来之前,会出现一段时间的黑屏。这种现象在烧录固件第一次开机的时候尤其明显。 解决方法:将Android开机动画设置为循环播放,也就是

1980 1200 15

p 0 10 part1

注意循环播放最后一帧需要与第一帧衔接,不然会有跳跃的突兀感。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146420.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Intellij IDEA 2021 Maven 配置指南「建议收藏」

    Intellij IDEA 2021 Maven 配置指南「建议收藏」Maven是Java一个不错的项目管理工具,但在IntellijIDEA软件中配置它却并非一件省心的事情,不少小萌新会配置失败。所以,我打算分享这篇教程,帮助萌新们在IntellijIDEA中配置好Maven~

  • Set集合和数组转换「建议收藏」

    Set集合和数组转换「建议收藏」publicvoidsetToArray(){Set<String>set=newHashSet<>();//错误!!!!!String[]strsFalse=(String[])set.toArray();for(Stringstr:strsFalse){System.out.println(str);}//正确String[]strsTrue=s…

  • Eclipse SVN使用问题之 Attempted to beginRule

    Eclipse SVN使用问题之 Attempted to beginRule

  • java.lang.NullPointerException出现的几种原因以及解决

    java.lang.NullPointerException出现的几种原因以及解决java.lang.NullPointerException出现的几种原因:1、字符串变量未初始化2、接口类型的对象没有用具体的类初始化,比如:Mapmap//会报错Mapmap=newMap();//则不会报错了3、当一个对象的值为空时,你没有判断为空的情况。4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常Stringstr…

  • 增量式光电编码器原理及其结构图_绝对式光电编码器工作原理

    增量式光电编码器原理及其结构图_绝对式光电编码器工作原理增量式光电编码器原理及其结构     增量式光电编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,但是不能通过输出脉冲区别出在哪个位置上的增量。它能够产生与位移增量等值的脉冲信号,其作用是提供一种对连续位移量离散化或增量化以及位移变化(速度)的传感方法,它是相对于某个基准点的相对位置增量,不能够直接检测出轴的绝对位置信息。一般来说,增量式光电编码器输出A、B两相互差90°

  • ios系统数据迁移至安卓系统_系统迁移关闭所有运行软件

    ios系统数据迁移至安卓系统_系统迁移关闭所有运行软件2018-11-16回答从安卓设备转移到ios的应用叫movetoios2015年9月17日,除ios9外,苹果当地时间周三还发布了movetoios——帮助用户将应用由android迁移到ios的一款工具,这也是苹果开发的首款android应用。movetoios的设计目标是使用户能方便地把数据由android设备迁移到新款iphone或ipad。用户能迁移的数据包括电话簿、日程…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号