经过几天的等待,几经波折终于把android 4.0 的代码下载下来。(http://android-sz.iteye.com/blog/1259206)
终于可以编译了,期待……
编译环境:
1,系统: Ubuntu 10.10 (64bit)
2,Jdk: java (64bit)
3,交叉编译链: 自带
为了避免编译过程中出现错误,执行如下命令安装下面软件
$:sudo apt-get install zlib1g-dev lib64z1-dev bison flex libncurses5-dev libgl1-mesa-dev gperf gnupg zip libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential
个人习惯,修改一些配置文件。减少系统语言的种类,设置系统显示的样式及设置jdk变量。
envsetup.sh | 3 ++- target/product/languages_full.mk | 3 ++- target/product/locales_full.mk | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/envsetup.sh b/envsetup.sh index bab2d25..900b3f0 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -1046,7 +1046,8 @@ function set_java_home() { export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home ;; *) - export JAVA_HOME=/usr/lib/jvm/java-6-sun + #export JAVA_HOME=/usr/lib/jvm/java-6-sun + export JAVA_HOME=/usr/local/jdk6/jdk1.6.0_24 ;; esac fi diff --git a/target/product/languages_full.mk b/target/product/languages_full.mk index e494fad..77ddd93 100644 --- a/target/product/languages_full.mk +++ b/target/product/languages_full.mk @@ -21,5 +21,6 @@ # Those are all the locales that have translations and are displayable # by TextView in this branch. -PRODUCT_LOCALES := en_US fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh_CN ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA +PRODUCT_LOCALES := zh_CN hdpi +#en_US fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh_CN ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA # We don't have the fonts to display am_ET yet diff --git a/target/product/locales_full.mk b/target/product/locales_full.mk index cab2b91..7b95d4a 100644 --- a/target/product/locales_full.mk +++ b/target/product/locales_full.mk @@ -1,3 +1,3 @@ -PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW +#PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW $(call inherit-product, build/target/product/languages_full.mk)
做完上面几步,可以开始编译了……
1, 配置编译环境
SOURCE_PATH$:source ./build/envsetup.sh
执行了下面几个文件
including device/samsung/maguro/vendorsetup.sh
including device/samsung/tuna/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.1
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ITL41D
============================================
呵呵,可以看到平台的配置。
3,开始编译
SOURCE_PATH$:make -j4
启用4线程编译吧!
等待中 …………
足足编译了4个小时,中间遇到磁盘不足。各位大能记得预留足够的磁盘空间。
终于编译完了。是不是迫不及待想看看效果呢?
4, 执行自己编译出来的android 4.0 吧!
设置sdk环境变量
SOURCE _PATH$:export PATH=~/Android/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools:$PATH
执行编译出来的img
SOURCE_PATH$: $OUT/emulator -system system.img -data userdata.img -ramdisk ramdisk.img
5, 图出来咯
启动
进入系统
查看一下编译信息
ok 大功告成!
可以更深一步研究Android 4.0