bootanimation.zip覚書


/system/media/bootanimation.zip

まず、無圧縮。
よってdesc.txtがあるフォルダで、

zip -0qry -i \*.txt \*.png \*.wav @ ../bootanimation.zip *.txt part*

とでもしてzipを作る。
次に、rw-r–r– root:rootにしとかないと読んでくれない。


chown root:root /system/media/bootanimation.zip
chmod 644 /system/media/bootanimation.zip

こうしとけば良い。

次に、サウンド。サウンドは各part内にaudio.wavを置いとくと、そのパートに差し掛かったとき再生してくれるが、タイムラグがある。

その他、bootanimation.zipの書き方 :bootanimation format

そいで、最近のAndroidでは/data/local/bootanimation.zipを読まない。
というよりAOSPでどっからか消えたらしい。でもアップデートのたびに焼き直すのは面倒。
んで、Cyanogenmod系列(LineageOSなど)は/system/addon.d/以下にバックアップスクリプト書くことで、消えないようにできるらしい(まだ未確認)
適当にupdate.zip書き換えて、(addonsu-arm.zipあたり)、install用zip作るか、いっそ自力でファイルを作成しても良いが、
/system/addon.d/81-bootanimation.shに


#!/sbin/sh
# Bootanimation設定

. /tmp/backuptool.functions

list_files() {
cat << EOF
media/bootanimation.zip
EOF
}

case "$1" in
  backup)
    list_files | while read FILE DUMMY; do
      backup_file $S/"$FILE"
    done
  ;;
  restore)
    list_files | while read FILE REPLACEMENT; do
      R=""
      [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
      restore_file $S/"$FILE" "$R"
    done
  ;;
  pre-backup)
    # Stub
  ;;
  post-backup)
    # Stub
  ;;
  pre-restore)
    # Stub
  ;;
  post-restore)
    chown root:root /system/media/bootanimation.zip
    chmod 644 /system/media/bootanimation.zip
  ;;
esac

と書くらしい。post-restoreのところはいらないかも。

Galaxy Nexusで色々実験してると楽しい。