zoukankan      html  css  js  c++  java
  • RK3288 制作开机动画

    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 的文档,内容如下:

    1366 768 15
    p 1 0 part0
    p 0 10 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

  • 相关阅读:
    Maven3路程(五)用Maven创建Hibernate项目
    Eclipse中通过Hibernate Tools插件实现从数据库逆向生成Hibernate带注解的实体类
    Maven3路程(三)用Maven创建第一个web项目(1)
    jquery下载所有版本(实时更新)
    Oracle读取Blob数据-通过hibernate
    使用以下代码可以插入BLOB类型的图片或pdf文档到Oracle数据库中:
    Intellij IDEA系列 --GIT的初步使用
    java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
    idea如何安装使用jetty runner
    IntelliJ IDEA下SVN的配置及使用说明
  • 原文地址:https://www.cnblogs.com/lialong1st/p/8984586.html
Copyright © 2011-2022 走看看