UbuntuでIceCreamSandwichをコンパイルする方法

Free Your Android - How to Compile ICS (Ubuntu) 

ややこしい環境確認や設定はすべて実行ファイルが用意されているので
簡単にビルドできる。

1. 環境の準備

必要ライブラリとパッケージのを整える。

apt-get update
apt-get install sun-java6-jdk
apt-get install python
apt-get install git-core
apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

64bitマシンで。

2. USBの設定

端末ベンダーごとに。

gksudo gedit /etc/udev/rules.d/51-android.rules
#Google
SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE=0666
chmod a+r /etc/udev/rules.d/51-android.rules

3. レポジトリのインストールと初期化

mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1
OR:
repo init -u https://android.googlesource.com/platform/manifest

4. ソースダウンロード(同期)

1~2時間かかると。

repo sync

5. 独自のバイナリを入手

Androidソースコードのみからコンパイルすることはできません。それは、グラフィックスアクセラレーション(およびGSM / LTE)用に特別にハードウェア関連の独自のライブラリが必要です。

Binaries for Nexus Phones and Flagship Devices - Google Support for Nexus Phones and Flagship Devices - Google Code 

sh extract-imgtech-maguro.sh

6. ビルド

環境変数を整える。

source build/envsetup.sh
lunch
8

.img を作る場合

make -j1

.zip(OTAパッケージ)を作る場合

make -j1 otapackage