2010-02-25

AndroidソースコードをNexus One向けにビルドする

Nexus Oneのboot loaderのunlockとか、recovery imageとかはこちらをどうぞ。

http://forum.xda-developers.com/showthread.php?t=611829
http://forum.xda-developers.com/showthread.php?t=623496


■Androidのソースコードを準備
eclair branchを使用します。
http://source.android.com/download
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair


■cyanogenさんのNexus One用vendor repositoryを取得
$ cd $MYDROID
$ git clone git://github.com/cyanogen/android_vendor_cyanogen.git vendor/cyanogen
$ git clone git://github.com/cyanogen/android_vendor_google_passion.git vendor/google/passion
$ git clone git://github.com/koush/android_vendor_motorola_sholes-open.git vendor/motorola/sholes-open


■Nexus Oneからproprietaryなファイルを抽出
$ (cd vendor/google/passion; ./extract-files.sh)

発売開始直後のversionだとファイルが足らず失敗します。最新版に上げて実行します。


■環境変数設定(毎回必要)
$ source build/envsetup.sh
$ lunch cyanogen_passion-eng

PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1
TARGET_PRODUCT=cyanogen_passion
TARGET_BUILD_VARIANT=eng
など表示されれば成功


■make
$ make


■fastboot
$ fastboot flash boot boot.img
$ fastboot flash userdata userdata.img
$ fastboot flash system system.img



以上。Mapsとか入れる場合は extract-google-files.sh して CYANOGEN_WITH_GOOGLE=1 で。

7 コメント:

rossi さんのコメント...

checkout失敗しました

$(cd vendor/google/passion; git checkout -b eclair origin/eclair)

fatal: git checkout: branch eclair already exists

sakamoto さんのコメント...

eclair branchだけになったようですので、checkout不要ですね。コメントありがとうございます。

rossi さんのコメント...

ありがとうございました。やっとビルドできました。

nexus oneの連絡先に日本語もソートできるように変更したいですけど、1.5のようなlibicudata.soだけ変更してみましたが、うまくできなかった。sakamotoさんがくわしいでしょうかね。

sakamoto さんのコメント...

詳しくはないですが、
defaultで日本語ロケールが入っていると思いますので、
設定でロケールを日本語にすればいいのではないでしょうか?

rossi さんのコメント...

すみません、確かに文字自体はソートできますね、でも全部zになったいる。

申し訳ありません、再度ききたいことあります。
特定の.soファイル、もしくは特定のapkのみビルとできないでしょうか。

よろしくお願いします

sakamoto さんのコメント...

Android.mk があるところで、makeのかわりにmmです。

rossi さんのコメント...

やっとビルドまわりだいたいわかった。
大変ありがとう御ざいます