Androidソースの取得とビルド
ビルドのための準備が整ったら,実際にAndroidソースを取得してビルド作業を行います。まずはリポジトリを初期化して,Androidのソース群の取得を行います。
$ mkdir cupcake $ cd cupcake $ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake $ repo sync |
今回,例として利用するEeePC701用のリポジトリ設定ファイルlocal_manifest.xmlを作成します。なお,このmanifestファイルは,Googleがたまたまx86パソコン向けの環境をEeePCと定義しているだけなので,ほかのx86パソコンでも基本的にこのままで問題ありません。
$ vi ./.repo/local_manifest.xml ##以下の内容を入力して保存する## |
再度リポジトリの同期を行い,EeePC701用のソースを取得します。
$ repo sync |
現状のソース・コードには,電源管理インタフェースが無いと,入力イベントを受け付けなくなるというバグがあるので修正しておきます。
$ vi frameworks/base/services/java/com/android/server/PowerManagerService.java ##344行目付近,PowerManagerServiceクラスのコンストラクタ内## // assume nothing is on yet ##上記を以下のように変更する## // assume nothing is on yet |
以上で準備が整ったので,Androidのビルドを行います。
$ TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make installer_img |
もし途中で以下のようなエラーが起きた場合は,dataディレクトリを手動で作成し,再度ビルドしてください。
system: ***** FILE SYSTEM WAS MODIFIED ***** $ mkdir out/target/product/eee_701/data |