android-4.0.3_r1 のCrespoビルド方法

「proprietary binaries」を取得する

AOSPに含まれていない各端末固有の「proprietary binaries」を取得する。
各端末毎に取得Scriptが用意されているので以下のように実効する。

端末を持っている場合
$ cd device/samsung/crespo
$ ./extract-files.sh

取得が終わると、ビルド環境のrootディレクトリに
vender/samsung/crespo/*
が生成されます。

端末を持っていない場合

以下のサイトから、バイナリをダウンロードする。
Google Support for Nexus Phones and Flagship Devices
http://code.google.com/intl/ja/android/nexus/drivers.html

の表にある5つのtarファイルをビルド環境のRootに格納する。

ビルド実効

あとはいつも通り、ビルド実効

$ . build/envsetup.sh
$ lunch full_crespo-userdebug
$ make

あると便利なcrespo_update.zip

extract-files.shで端末固有バイナリを取得しましたが、2回目から以下のような方法もあります。
device/samsung/crespo/unzip-files.sh というScriptが用意されています。
中身をみるとわかりますが、簡単に説明すると以下のような感じ。

  • extract-files.shで取得した端末固有バイナリをcrespo_update.zipとして保存しておく
  • ディレクトリ構造はunzip-files.shの記載と同じにしておく
  • crespo_update.zip をビルド環境のrootディレクトリにおく
  • device/samsung/crespo/unzip-files.sh のScriptを実効

実効結果はextract-files.shと同等になるはずです。