ORNEW

Androidの起動アニメーションを変更する

Facebook にシェア
Pocket

Androidのrootユーザー権限を取得していることを前提としています。

Androidの起動アニメーション構造

Androidのboot時に再生されるアニメーションは/system/media/bootanimation.zipが使用される。

このファイルは無圧縮のzipである必要がある。内部の書庫構造は以下のようにする。また、bootanimation.zipのパーミッションは644以上である必要がある。

bootanimation.zip
├ desc.txt
├ part0
┊ ├ 0000.png
┊ ├ 0001.png
┊ ┊ 
┊ └ 9999.png
┊
└ part9
  ├ 0000.png
  ┊

part1からpart9は任意。また、それぞれの連番画像は0000から9999までの任意の枚数。形式はpngのみで、色数が多すぎると動かない場合あり。

desc.txtの中には以下の様な構文で画像の再生方法を指定する。

620 164 30
c 0 0 part0

一行目にはwidth height FPSを指定する(FPS=Frame Per Second)。サイズがpngファイルと異なると何も表示されないので注意。二行目以降にはtype loop-count delay path bgcolor-hex-rgb(optional)の書式でアニメーションを定義する。行末に必ず改行が必要なことに注意する

実際にアニメーションを作成する

MacでgifアニメーションをAndroidの起動アニメーションに変換、インストールする。

ここでは画像処理にImageMagickを使うとする。画像サイズは620×164とし、元のgif画像が./boot.gifとして存在しているとする。gifのリサイズ、減色、変換を行っている。リサイズしてから減色しないとノイズが大きくなるので注意。

$ mkdir -p tmp/part0 bootanimation/part0
$ cat >> bootanimation/desc.txt <<'EOF'
> 620 164 10
> c 0 0 part0
> 
> EOF
$ convert boot.gif -gravity center -thumbnail 620x164 -extent 620x164 tmp/boot-620x164.gif
$ convert -coalesce tmp/boot-620x164.gif tmp/part0/%04d.png
$ convert -colors 96 tmp/part0/*.png bootanimation/part0/%04d.png
$ zip -0r bootanimation bootanimation/
$ chmod 644 bootanimation.zip
$ adb remount
$ adb push bootanimation.zip /system/media
$ adb reboot

起動するとごちうさのOPが流れてこころがぴょんぴょんするAndroidを作ると楽しい。