2009-01-10

Android Dev Phone 1 その8

現在のrepoで、Android Dev Phone 1 (HTC dream)に元から入ってるバージョンのAndroidをbuildするにはどうすれば。

release-1.0 revisionを指定すればいけるはず。

んが、http://android.git.kernel.org/をながめてみると、肝心のplatform/vendor/htc/dream.gitplatform/hardware/msm7k.gitがrelease-1.0 branchを持ってなさげ。


しかし履歴を見てみると、cupcake branchが入ってきたときの状態がちょうどrelease-1.0らしき気配。

ということで

repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0


してrelease-1.0を持ってくるようにして、htc dream固有のものを取ってくるための .repo/local_manifest.xml は


<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="kernel/common"/>
<project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-htc-2.6.25"/>
<project path="vendor/htc/dream" name="platform/vendor/htc/dream" revision="cupcake"/>
<project path="hardware/msm7k" name="platform/hardware/msm7k" revision="cupcake"/>
</manifest>


のようにkernelはhtc dream用の2.6.25を、他はcupcakeを指定。で repo sync。


Ubuntu8.10、というかgcc-4.3だとstdlib.h、string.hなどをincludeしまくらないとbuildできないので
http://groups.google.co.jp/group/android-porting/browse_thread/thread/66862bdb52dac936
gcc-4.2を使う。ので TOPディレクトリの buildspec.mk は、

TARGET_PRODUCT:=htc_dream
CC=gcc-4.2
CXX=g++-4.2


としておく。


libaudioがbuildできないのは、include pathが解決できないせいなので
http://groups.google.com/group/android-platform/msg/dac64d13ff2303b0
シンボリックリンクを貼ってしまう。
cd hardware/msm7k/libaudio
ln -s ../../../kernel/include/linux .



あと system/wlan/ti/wpa_supplicant_lib/Android.mk の STA_DK_ROOT を
STA_DK_ROOT = $(LOCAL_PATH)/../sta_dk_4_0_4_32

しとけば、buildできました。


動作確認してないので、ADP1出荷時と同じような状態のイメージができてるかどうかよくわかりませんけども。

(2009/03/31 追記)