海王  

http://android-sz.iteye.com/blog/1265613

进过几天的等待,几经波折终于把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变量。

Html代码 收藏代码

  1. envsetup.sh                      |    3 ++-  
  2. target/product/languages_full.mk |    3 ++-  
  3. target/product/locales_full.mk   |    2 +-  
  4. 3 files changed, 5 insertions(+), 3 deletions(-)  
  5. diff --git a/envsetup.sh b/envsetup.sh  
  6. index bab2d25..900b3f0 100644  
  7. --- a/envsetup.sh  
  8. +++ b/envsetup.sh  
  9. @@ -1046,7 +1046,8 @@ function set_java_home() {  
  10.                  export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home  
  11.                  ;;  
  12.              *)  
  13. -                export JAVA_HOME=/usr/lib/jvm/java-6-sun  
  14. +                #export JAVA_HOME=/usr/lib/jvm/java-6-sun  
  15. +       export JAVA_HOME=/usr/local/jdk6/jdk1.6.0_24  
  16.                  ;;  
  17.          esac  
  18.      fi  
  19. diff --git a/target/product/languages_full.mk b/target/product/languages_full.mk  
  20. index e494fad..77ddd93 100644  
  21. --- a/target/product/languages_full.mk  
  22. +++ b/target/product/languages_full.mk  
  23. @@ -21,5 +21,6 @@  
  24. # Those are all the locales that have translations and are displayable  
  25. # by TextView in this branch.  
  26. -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  
  27. +PRODUCT_LOCALES := zh_CN hdpi  
  28. +#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  
  29. # We don't have the fonts to display am_ET yet  
  30. diff --git a/target/product/locales_full.mk b/target/product/locales_full.mk  
  31. index cab2b91..7b95d4a 100644  
  32. --- a/target/product/locales_full.mk  
  33. +++ b/target/product/locales_full.mk  
  34. @@ -1,3 +1,3 @@  
  35. -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  
  36. +#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  
  37. $(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

2, 设置编译选项

SOURCE_PATH$:lunch

You're building on Linux

Lunch menu... pick a combo:

     1. full-eng

     2. full_x86-eng

     3. vbox_x86-eng

     4. full_maguro-userdebug

     5. full_tuna-userdebug

     6. full_panda-eng

Which would you like? [full-eng] 1

============================================

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

转载请注明出处,谢谢!

posted on 2012-03-31 14:20  海王  阅读(2747)  评论(0编辑  收藏  举报