Android 的开机动画是由 Linux 本地守护程序 bootanimation 专门控制实现的,其代码在 frameworks/base/cmds/bootanimation/ 目录下。

修改开机动画的方式有两种:

1、蒙版图片替换:

替换 frameworks/base/core/res/assets/images 目录下的两张图片文件,android-logo-mask.png 和 android-logo-shine.png。

android-logo-mask.png 是镂空蒙版图片,android-logo-shine.png是镂空蒙版后面的闪光图片,两张图片通过叠加移动达到动画效果。

(1)用 Photoshop 制作一张同样分辨率和格式的图片,要求背景为黑色,字体中间镂空,命名为 android-logo-mask.png。制作图片方法请找度娘。

(2)将制作好的图片android-logo-mask.png 复制到 frameworks/base/core/res/assets/images 目录下,替换掉以前的图片。

$ cp -raf android-logo-mask.png frameworks/base/core/res/assets/images/
// 防止源码不编译图片,需更新图片时间戳
$ touch frameworks/base/core/res/assets/images/android-logo-mask.png

(3)重新编译模块

$ source build/envsetup.sh
$ lunch rk3288-eng
$ mmm frameworks/base/core/res/

(4)生成新的 system.img

$ make snod

(5)重新烧录并查看效果。

2、逐帧动画替换

创建 bootanimation.zip 文件,该压缩包文件里存放有逐帧动画和控制脚本,通过连续切换显示图片达到动画的效果。

bootanimation.zip压缩包文件结构
文件 说明
desc.txt 动画属性描述文件
part0 第一阶段动画图片目录
part1 第二阶段动画图片目录

(1)将第一部分图片按播放顺序命名好,保存在 part0 的文件夹中,例如:001.jpg、002.jpg(有的资料和书籍上强调必须为png格式图片,但是我在rk3288上测试,jpg格式也可以正常使用)

(2)将第二部分图片按播放顺序命名好,保存在 part1 的文件夹中,例如:001.jpg、002.jpg

(3)创建名称为 desc.txt 的文档,内容如下:

p   part0
p part1
desc.txt文件详解
图片属性 1366(图片宽度) 768(图片高度) 15(每秒显示帧数)
第一阶段动画属性 p(默认标志符) 1(循环次数为1) 0(进入该阶段的间隔时间) part0(该阶段图片的存放目录)
第二阶段动画属性 p(默认标志符) 0(无限循环) 10(进入该阶段的间隔时间) part1(该阶段图片的存放目录)

每秒显示帧数:每秒显示的图片数量。

间隔时间:该阶段结束后间隔多久进入下一阶段显示,单位为每张图片的显示时间。

(4)选中part0、part1和desc.txt进入自定义压缩,压缩文件格式为 zip,压缩方式为存储,命名为 bootanimation.zip。

(5)将压缩包拷贝到 device/*/$(TARGET_DEVICE) 目录下。例如:RK3288 的目录在 device/rockchip/rk3288/bootanimation.zip

(6)修改 device/*/$(TARGET_DEVICE)/$(TARGET_DEVICE).mk 文件。例如:RK3288 是 device/rockchip/rk3288/rk3288.mk

// 在文件中添加,不使用逐帧动画时,用 # 屏蔽此行即可
PRODUCT_COPY_FILES += device/rockchip/rk3288/bootanimation.zip:system/media/bootanimation.zip

(7)重新编译生成 system.img

$ source build/envsetup.sh
$ lunch rk3288-eng
$ make snod

(8)重新烧录并查看效果。

逐帧动画的优先级比蒙版动画的优先级高,当使用了逐帧动画时,蒙版动画就不播放了。

RK3288 制作内核开机logo

RK3288 制作开机动画的更多相关文章

  1. RK3288 制作内核开机logo

    安装工具 sudo apt-get install netpbm 1.制作图片 (1).图片为bmp格式 $ convert logo.bmp logo.png $ pngtopnm logo.png ...

  2. 理论制作 Windows 开机动画

    第一次接触 Windows 开机动画是 2012 年,那时候魔方的版本号还是 3.12,魔方里面有个很酷炫狂霸拽的功能就是替换 Windows 7 的开机动画.一开始我是在IT之家论坛里下载开机动画, ...

  3. 开机logo以及两种修改开机动画方法

    Android开机画面总共有三屏 一.第一屏:开机logo 1.选张png格式的图片,在Linux任意下执行(安装工具): sudo apt-get install pnmtoplainpm 2.在所 ...

  4. Android5.1开机LOGO与开机动画【转】

    本文转载自:http://blog.csdn.net/u014770862/article/details/52624627 android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于 ...

  5. Android开机动画、logo、字样的定制过程【转】

    本文转载自:http://blog.csdn.net/yinhaide/article/details/43668401 Android开机画面总共有三屏 一.第一屏:开机logo 1.选张png格式 ...

  6. RK3288 开机动画旋转

    CPU:RK3288 系统:Android 5.1 如果开机动画与屏显示方向不一致,有两种方法可以更改开机动画方向. 一.RK3288默认的开机动画是由两张图片组合而成的,可以直接旋转两张图片的方向. ...

  7. Android 开机动画启动过程详解

    Android 开机会出现3个画面: 1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片): 2. Android平台启动初始化,出 ...

  8. OpenGL—Android 开机动画源码分析一

    .1 Android开机动画实现方式目前实现Android开机动画的方式主要是逐帧动画和OpenGL动画. ?逐帧动画 逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的 ...

  9. Android MTK平台最完备的开机动画修改教程

    修改手机的开机动画不是什么难事儿. 但修改一款很冷门的"山寨机",就不太好修改第一屏了. 手机是MTK的一款手机,虽然比较贵(价格超过三星Note3),但在我看来跟山寨机木有啥区别 ...

随机推荐

  1. 无密码登陆的ssh和ssh-agent

    原文地址:http://lxshopping.blog.51cto.com/4542643/1179864/ 一,不需要输密码的ssh 原理:首先服务器端把公钥传给Client端,Client端在验证 ...

  2. Sum All Numbers in a Range

    我们会传递给你一个包含两个数字的数组.返回这两个数字和它们之间所有数字的和. 最小的数字并非总在最前面. 这是一些对你有帮助的资源: Math.max() Math.min() Array.reduc ...

  3. Python中字符串、列表、元组、集合、字典中的一些知识,有些不太常见

    ————————笔记——————————# 字符串1. 字符串是不可变的.2. 字符串切片输出:`[start:end:step]`.使用`a[::-1]`倒序输出字符串.3. `str.split( ...

  4. C++高级编程2. 静态动态链接库

    C++高级编程2. 静态动态链接库20131018 1.动态链接库和静态链接库的区别: 静态链接库就是把lib文件中用到的函数代码直接连接进目标程序,程序运行的时候不在需要其他的库文件:动态链接库是把 ...

  5. LeetCode OJ:Reverse Bits(旋转bit位)

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  6. IOC与DI简介

    IOC:控制反转(Inverse Of Control) 在没用spring框架之前我们是这样写程序的: private UserDao userDao = new UserDaoImpl(); 也就 ...

  7. memcached asp.net

    下载文件 memcached 1.解压缩文件到e:\memcached 2.命令行输入 e:\memcached\memcached.exe -d install' 3.命令行输入 e:\memcac ...

  8. ios图标生成器网址 插件禁用后,可以选择这个

    1. 可以使用在线移动图标生成工具:图标工场http://icon.wuruihong.com/网站自动生成iOS所需的所有对应格式的图标 2. 如果直接选择iOS,会自动生成29pt.40pt.50 ...

  9. android Camera模块分析

    Android Camera Module Architecture and Bottom layer communication mechanism              ----------- ...

  10. Swift UITextField各种属性的设置

    //MARK: 文本输入框 func _initTextField() { //如果需要在模拟器中调用电脑的键盘 快捷键:command + shift + k let textField = UIT ...