编译android2
|Word count:1k|Reading time:4min|Post View:
编译 android 2.1
(eclair) 源码 For HTC G1
1. 说明
- 下载编译最基本的 android 源码,无法在真机上使用(不能生成
boot.img
),只能在模拟器上使用。这是因为没有编译相关机型的内核和硬件驱动。以下介绍的是用
android 源码编译出对应 HTC G1
的版本,和烧写的过程。编译生成的版本除相机不能用之外,其它绝大部分功能都能正常使用,在
G1 上运行 2.1 版的速度也不错。
- 本文主要参考日文文档 G1/G2 烧机指南,感谢原文作者,原文地址: [_
http://code.google.com/p/android-development-
environment/wiki/EclaironADP1andADP2
_](http://code.google.com/p/android-
development-environment/wiki/EclaironADP1andADP2)
同时加入中文系统的支持和 JIT 支持(提高速度),以及相关文字解释。
- 以下步骤都经过验证(只验证 G1 手机,G2
部分请参见日文文档),实验系统 ubuntu8.04,实验日期 2010 年 5
月 8 日
- 关键字: android 2.1 eclair g1 源码编译
2. 建立 android 源码编译目录
1 2 3
| $ export ANDROID=/exports/android/android_2.1_cn/ $ mkdir -p $ANDROID $ cd $ANDROID _
|
3. 源码下载
1 2 3
| $ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.1_r2 _ _ #设定下载 _ _ 2.1 _ _ 版代码 _ _ $ vi .repo/local_manifest.xml # _ _ 新建下载配置文件 _
|
编辑内容如下
注意:其中 msm 是高通芯片组,path 指明下载到源码目录中的位置,name
指明 git 上的项目名
1
| $ repo sync # _ _ 开始下载代码,此时需要等待较长时间 _
|
4. 打补丁以支持动态壁纸(此为步骤为可选)
1 2 3 4 5 6
| $ wget [ http://android-development- environment.googlecode.com/files/patch_devphone_eclair.tar.gz ](http://android-development- environment.googlecode.com/files/patch_devphone_eclair.tar.gz) $ tar zxvf patch_devphone_eclair.tar.gz $ ./patch/eclair-build-patch.sh _
|
5. 编译内核及无线网络驱动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $ cd $ANDROID/kernel $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm- eabi-4.4.0/bin/arm-eabi- msm_defconfig # _ _ 设定默认的 _ _ msm _ _ 配置 _ _ $ vi .config # _ _ 修改新生成的配置文件,以重新设置 _ _ CPU _ _ 最高频率,修改如下: _ 修改 _ _ CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX _ _ 项为 _ _ CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=528000 _ $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm- eabi-4.4.0/bin/arm-eabi- # _ _ 编译内核 _ _ $ cd $ANDROID/system/wlan/ti/sta_dk_4_0_4_32 $ make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-x86/toolchain/arm- eabi-4.4.0/bin/arm-eabi- KERNEL_DIR=$ANDROID/kerne l _ _ #编译无线网络驱动 _ _ $ cp $ANDROID/kernel/arch/arm/boot/zImage $ANDROID/vendor/htc/dream- open/kernel $ cp $ANDROID/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $ANDROID/vendor/htc/dream-open/wlan.ko _
|
6. 编译 android 源码
在 HTC 网站 [_ http://developer.htc.com/adp.html _
](http://developer.htc.com/adp.html)
下载名为 _ signed-dream_devphone_userdebug-ota-14721.zip _
的包,并把它放在 $ANDROID
目录下
1 2 3 4 5 6 7 8 9 10 11
| $ cd $ANDROID $ source build/envsetup.sh $ lunch aosp_dream_us-eng # _ _ 指明机型 _ _ $ cd vendor/htc/dream-open $ ./unzip-files.sh _ _ # 解压 _ _ htc _ _ 相关驱动 _ _ $ cd $ANDROID $ vi buildspec.mk _ _ # 新建配置文件 _ _ _ _ 加入如下内容 _ _ CUSTOM_LOCALES:=zh_CN _ _ # _ _ 设置编译为中文系统 _ WITH_JIT:=true _ _ # _ _ 加入 _ _ JIT _ _ 支持,使得运算速度加快 _ _ 1-2 _ _ 倍 _ $ make -j2 _ _ # _ _ _ _ 编译 _ _ android _ _ 源码,需要等待较长时间 _
|
7. 把编译好的软件烧写到手机
用 usb 线连接手机到电脑,按 home+power 键将手机启动到工程模式,按 back
键准备烧写
1 2 3 4 5
| $ export PATH=$PATH:$ANDROID/out/host/linux-x86/bin # _ _ 把烧写工具所在目录加上路径 $ cd out/target/product/dream-open/ $ fastboot flash system system.img $ fastboot flash boot boot.img $ fastboot reboot
|
烧写系统后第一次启动手机需要几分钟,请耐心等待
8. 参考
- 刷写部分未详细描述,具体请参考文档
[_ http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1452.entry
_
](http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1452.entry)
- 源码编译部分未详细描述,具体请参考文档
[_ http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1364.entry
_
](http://xy0811.spaces.live.com/blog/cns!F8AECD2A067A6B17!1364.entry)
(转载请注明出处:http://xy0811.spaces.live.com)