开机动画,铃声添加制作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a567890k/article/details/77502544

在bootanimation.zip放入铃声

一直以为开机的bootanimation.zip 只能放动画,查看代码(android 7,.1)之后才知道铃声也能放在里面

bootanimation.zip 制作方法

参照frameworks\base\cmds\bootanimation 中的FORMAT.md

  1. bootanimation.zip应该包括以下这些文件夹
    desc.txt - 一个文本文件
    part0 \
    part1 \ PNG 格式的动画图片(名称要按顺序命名)
    … /
    partN /

  2. desc.txt 格式

    第一行定义的动画的基本参数,宽,高,每秒帧数

    WIDTH HEIGHT FPS

    eg: 320 480 10
    下面几行是定义 part文件夹下的动画怎么播放,格式:

    TYPE COUNT PAUSE PATH [#RGBHEX CLOCK]

    eg: p 1 0 part0
    p 1 0 part1
    p 0 0 part2

  3. trim.txt
    可以根据背景颜色裁剪动画大小,如果这个文件没有每一帧被认为是大小相同的动画。

  4. audio.wav
    每个 part文件夹都可以放一个,文件名必须是audio.wav,才能播放音乐,只会播放一次。

  5. bootanimation.zip的压缩命令
    cd <path-to-pieces>
    zip -0qry -i \*.txt \*.png \*.wav @ ../bootanimation.zip *.txt part*

注意事项

  1. desc.txt文件末尾最好加一空行,不让容易有莫名其妙的问题
  2. 照上述方法将audio.wav放在第一个动画播放的文件夹(part0)没有声音,是因为开机动画开启的时候media服务还没有启动,可以修改frameworks/base/cmds/bootanimation/bootanim.rc
service bootanim /system/bin/bootanimation
    class core
    user graphics
    group graphics audio
    disabled
    oneshot
    writepid /dev/stune/top-app/tasks

将user graphics 改为user media这样放在part0里的声音就能正常播放,但是这样开机动画播放的时间会变短。

如果不想修改bootanim.rc 可以让part0只播放4,5秒的动画,在之后的part1放入音频文件,这样的感觉就是动画音乐不同步,但是开机感觉会比较快

相关的adb调试命令

修改bootanim.rc单编编译出来的文件在out\target\product\XXXXX\system\etc\init\bootanim.rc

adb push \\work\out\target\product\QT5516\system\etc\init\bootanim.rc system/etc/init

adb shell chmod 644 system/etc/init/bootanim.rc

记得修改权限不然不能运行
不想重启的话(关于声音调试最好重启,只看动画效果可以以下命令)

adb shell setprop service.bootanim.exit 0
adb shell setprop ctl.start bootanim

播放动画

adb shell setprop service.bootanim.exit 1

停止动画

猜你喜欢

转载自blog.csdn.net/a567890k/article/details/77502544