これは、システムのロード時に表示されるAndroidの起動アニメーションを変更する方法の簡単なステップバイステップガイドです。
要件
- Android L5.1.1_2.1.0 BSP。ブートアニメーションの基本は、古いリリースや今後のリリースにも適用される可能性がありますが、L5.1.1_2.1.0には特に当てはまります。このドキュメントには BSP が使用されました。ファイル名、設定、またはパスは、古いリリースまたは新しいリリースで変更される可能性があります。
- i.MX6Q Sabre SD ボードまたはBSPリリースでサポートされているその他のi.MXボード、テスト用に。
- 7-Zip。これは無料の圧縮ツールであり、ブートアニメーションファイルを準備するために必要な設定が備わっています。ブートアニメーションファイルは圧縮されていないZip形式であることが重要です。そうでないと、ファイルが読み込まれず、アニメーションが表示されません。一部のオペレーティングシステムに統合されている Zip ツールでは、これらの構成が常に許可されるとは限りません。
このユーティリティは、以下のリンクからダウンロードできます。
- Android adb ツール。このツールは Android SDK の一部です。次のリンクから、Android Studio の一部として SDK をダウンロードするか、スタンドアロンとして SDK をダウンロードすることができます。このドキュメントをフォローアップするには、adb のみが必要です。
http://developer.android.com/sdk/installing/index.html
起動アニメーションのフォーマットを理解すること。
Androidが起動時に使用するアニメーションは、実際には圧縮されていないzipファイル(ストレージモード)とテキストファイル(desc.txt)のjpgまたはpng形式の一連の画像です。アニメーションの再生に必要な解像度、フレームレート、ループ回数が指定されています。
アニメーションの一部を含む各フォルダーには、000から始まる番号が付けられた画像が含まれている必要があります。このファイルは常に bootanimation.zip と呼ばれます。ブートアニメーションの例はこのドキュメントに添付されています。
添付された例の desc.txt ファイルの内容は以下の通りです。
480 292 30 p 1 0 part0 p 0 0 part1
(文書の最後に空行を入れてください)。
1 行目:画面解像度とアニメーションの FPS(1秒あたりのフレーム数)。
3~5行目:pは、その行にアニメーションの一部が含まれていることを示しています。次に、アニメーションのセクションが再生される回数(ゼロは無限ループ)が続き、その後、次の行に移動するまでのフレーム単位の遅延が示されます。最後に、アニメーションの特定の部分のファイルを含むフォルダーが来ます(ほとんどのアニメーションでフォルダー名に「part」が使用されるのはこのためです)。
6 行目:空白行。これは重要です。これがないと、記述ファイルが不完全とみなされ、アニメーションが実行されない可能性があります。
ウェブ上にはいくつかのアニメーションがあり、独自のアニメーションを作成できる無料のツールやアプリもあります。このドキュメントにはサンプルアニメーションが添付されており、参考としてご使用いただけます。
bootanimation.zip ファイルに他のファイルが含まれていないことが重要です。これには、Windows によって自動的に作成されたサムネイルが含まれます。ボードにロードする前に、ファイルからそれらを削除してください。
アニメーションがシステムのロードにかかる実際の時間よりも短い場合、ループで繰り返される可能性があることにご注意ください。ただし、アニメーションは読み込み時間に関係なく完全に再生されるため、起動アニメーションが非常に長いと、起動時間が長く感じられることがあります。
ブートアニメーションファイルの場所は、次のパスにあるbootanimation_main.cppファイルに記載されています。
ファイルの場所を示す定義が2つあります。この文書のデフォルト画像(暗号化されていない)に焦点を当てています。
#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip" #define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
注:これらの定義は、サードパーティのBSPの定義とは異なる場合があります。BSPがUSER_BOOTANIMATIONとして「/data/local/」フォルダーを使用するのは一般的です。これは、NXPのBSPではデフォルトでサポートされていません。
新しいブートアニメーションファイルを読み込んでいます。
- ユーザーデバッグイメージのビルド
Android は改ざんを防ぐために特定のフォルダーを保護しています。そのため、ブートアニメーションを変更するには、ファイルシステムにアクセスするために adb を使用します。ただし、ルートアクセスが可能なイメージを使用する必要があるため、ユーザーデバッグイメージを使用します。
ユーザーデバッグとしてコンパイルするには、『Android ユーザーガイド』の指示に従った後、次の lunch コマンドを使用します。
$ lunch sabresd_6dq-userdebug
ユーザーデバッグ用にビルドを構成した後、make を使用してビルドできます。(このプロセスには数時間かかる可能性があります)
- USBデバッグモードを有効にする
ボードはAndroidを実行しており、USB OTGポートを使用してコンピュータに接続されている必要があります。adb が機能するためには、設定を開き、「About」オプションまでスクロールし、「About」オプションを7回クリックして、USBデバッグを有効にする必要があります。
- adbを使用して新しいブートアニメーションを読み込む
以下のパスで入手可能な Android SDK for Windows の adb ツールを使用して SABRE ボードに接続します。
android-sdk-windows\platform-tools
Windows でコマンドプロンプトを開き、adb パスに移動します。次に、次のコマンドでadbサーバーを起動します。
$ adb start-server
これにより、adbデーモンが初期化されます。デバイスに接続するには、許可を与える必要があります。コンピュータホストを信頼するかどうかを尋ねるポップアップが表示されます。システムパーティションを変更するため、adbをrootとして初期化する必要があります。
$ adb root
これにより、adbデーモンがルートモードで再起動されます。デバイスからアクセスを許可する必要があります。接続されているリストが表示されます。
$ adb devices
ファイルシステムの内容をご覧になりたい場合は、次のコマンドでシェルに入ることができます。
$ adb shell
ただし、ブートアニメーションを変更するために、adb の pull/push コマンドを使用します。
現在のブートアニメーションをバックアップ用にダウンロードしたい場合は、次のコマンドを使用します。
$ adb pull /system/media/bootanimation.zip C:\
これにより、bootanimation.zip ファイルが C: にダウンロードされます。
システムパーティションは読み取り専用のため、交換用のブートアニメーションをプッシュする前に、adbで再マウントする必要があります
$ adb remount
$ adb root push C:\BootAni\bootanimation.zip /system/media
この後、ボードを再起動すると、新しいブートアニメーションが表示されるはずです。
元の添付ファイルはbootanimation.zipに移動されました