2016/10/28

bootanimation.zip は圧縮してはいけない

Android 起動時のアニメーションは `/data/local/bootanimation.zip`Android 5.0 Lollipop 以降は `/oem/media/bootanimation.zip` に変更になった様子 か `/system/media/bootanimation.zip` で決まります。

この `bootanimation.zip` ファイル、PNG ファイルを連番で用意し、構成ファイル `desc.txt` をトップに格納するというシンプルな構成なので簡単に作成できます。

> 参考
>
> [Deciphering Android's bootanimation.zip desc.txt](https://blog.justinbull.ca/making-a-custom-android-boot-animation/)

しかし、普通に zip ファイルを作るとうまく表示されません場合によっては起動すらしなくなっちゃうことも。
この zip ファイル、無圧縮でなければいけないのです。

それに気づかず、数時間使ってしまったー実は参考リンク先にも圧縮してはいけないと書いてありました。


### 無圧縮zip の作り方
Linux 系だと以下のように `zip` コマンドで作成します。

```console
`gutter: false;
$ zip -0 bootanimation.zip desc.txt part0/* part1/*
```

### 実際にアニメーションを表示しているソースコード
バージョンによって微妙に挙動が変わっているので注意が必要です。

https://android.googlesource.com/platform/frameworks/base/+/master/cmds/bootanimation/

ブートアニメーションをいじろうという人は [AOSP](https://source.android.com/source/index.html) 等から自分でビルドする人かと思うのでエミュレーターでも出来ますが、それやっても、あまり面白くないからなぁ、
コードは手元にあるという前提なのでしょう。


### いろいろなブートアニメーション
蛇足ですが、様々なデバイスのブートアニメーションを集めたサイトがあったのでリンクしておきます。

[Boot Animations « Droidboots](http://droidboots.com/downloads/boot-animations/)

0 件のコメント: