Androidシステムの起動画面の修正


Androidシステムの起動画面は次の3段階に分けられます.
1、起動画像:Androidカーネルは標準カーネルに基づいており、linuxに詳しい.特に開発ボードにLinuxシステムを移植した人は、カーネルガイドの過程でペンギンの画像が表示されることを知っている.これが第1段階の起動画像であり、どのように修正するか知っていると信じている.Android1.5以上のバージョンでは、この画像の表示がキャンセルされています.具体的には、カーネル関連コードを見てください.
2、机械をスタートさせる文字:Androidシステムの机械をスタートさせると「A N D R O I D」という字が出てくるので、みんなよく知らないと思いますが、これはどうやって修正しますか?関連書類はAndroidシステムのソースコード(Androidカーネルのソースコードではない)system/core/init/init.c、以下のコードクリップ:
   if( load_565rle_image(INIT_IMAGE_FILE) ) {
        fd = open("/dev/tty0", O_WRONLY);
        if (fd >= 0) {
            const char *msg;
                msg = "
" "
" "
" "
" "
" "
" "
" // console is 40 cols x 30 lines "
" "
" "
" "
" "
" "
" "
" " A N D R O I D "; write(fd, msg, strlen(msg)); close(fd); } }
       
ここまで来たら、みんなはどのように修正するか知っているでしょう.しかし、ここで述べるのは、上記のコードセグメントにif文があり、まずファイルシステムのルートディレクトリの下に実装すべき起動アニメーションが存在するかどうかを検出し、存在しなければ、このテキスト情報を表示する代わりに、この段階はピクチャの表示を実現することができ、ピクチャのフォーマットはである.rle形式です.存在しなければテキストが表示されるので、それが自分の文字であるか、つまり「A N D R O I D」を修正するかを選択することができます.画像を表示することもできますが、ファイルシステムのルートディレクトリの下に自分でチップを提供し、具体的な画像の名前はinitです.hファイルで定義:
#define INIT_IMAGE_FILE	"/initlogo.rle"

int load_565rle_image( char *file_name );
           
上のマクロ定義を見ればわかるでしょうが、rle形式の作り方については、これはいくつかのソフトウェアを使えばいいです.
3、クランクインアニメーション:この段阶は皆さんが见られるシステムのスタート中に、「A N D R O I D」の文字を表示した后に表示される画像で、进度バーのように、画像の内容も「A N D R O I D」の文字です.ここはどのように修正しますか?
実はこの部分のアニメーションは2つのピクチャーを使って表示されて、具体的なピクチャーファイルの所在の経路は:frameworks/base/core/res/assets/imagesで、みんなは見てすぐ知っていて、どのように修正するかを知っています.でもまだ終わっていません.
この部分に関連するソースファイルは主に以下の通りです:frameworks/base/cmds/bootanimationの下のいくつかのファイルはそうです.BootAnimationを見てもいいです.cppファイルの内容は、次のコードクリップで構成されています.
bool BootAnimation::android()
{
    initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");
    initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");
           
これが表示される前景画像と背景画像を設定します.
次に、次のコードを参照してください.
#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"
#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
       
マクロ名を見ればわかると思いますが、これがアニメーションファイルを設定する名前です.なぜ画像を表示したり動画を設定したりするのか、このAndroidバージョンに関係しています.2つの画像を表示します:前景と背景の画像は1.5バージョンで使って、それからアニメーションのファイルを設定することに変えて、bootanimationです.zipはzip形式で、このファイルには3つの内容が含まれています.2つのディレクトリ:part 0とpart 1、1つのファイルdesc.txtです.
2つのディレクトリは、表示するピクチャを含むために使用され、第1のフェーズと第2のフェーズに分けられます.残りのファイルは、表示方法に関する情報を設定することです.
例は次のとおりです.
480 800 15     p 1 0 part0     p 0 0 part1
具体的な意味は以下の通りです.
480--width of the image,800--height of the image,15-frames of second p 1,display one time p 0,display recycling till handset power on finished,皆さんご存知のように!ほほほ.
自分のbootanimationを作ることができますzipファイルは適切なディレクトリの下に置いて、このようにデフォルトの起動インタフェースに代わることができます:ここで言う適切なディレクトリは上のマクロ定義で、みんなはすべて知っています^^!
どうやって作るんだ?zipファイルは?上記と同じように2つのディレクトリと1つのファイルを作成し、ソフトウェアまたはコマンドラインのパッケージを使用します.
         zip -r -0 bootanimation.zip part0 part1 desc.txt
これで、カスタムスタート画面が完成します!