环境:
Ubuntu Linux (64-bit)
Java 6: for Gingerbread and newer
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
sudo update-java-alternatives -s java-6-sun
Java 5: for Froyo and older
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
编译所需工具与库:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
$ cd ~
$ mkdir myandroid
$ cd myandroid
$ curl http://android.git.kernel.org/repo > repo
$ chmod a+x repo
$ ./repo init -u git://android.git.kernel.org/platform/manifest.git
加-b参数可选择下载版本 比如: repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
$ vi .repo/local_manifest.xml
建立额外的下载配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel" name="kernel/msm" revision="android-msm-2.6.35"/>
<project path="vendor/htc/common-open" name="platform/vendor/htc/common-open" revision="master"/>
<project path="vendor/htc/dream-open" name="platform/vendor/htc/dream-open" revision="master"/>
<project path="vendor/htc/prebuilt-open" name="platform/vendor/htc/prebuilt-open" revision="master"/>
<project path="vendor/htc/sapphire-open" name="platform/vendor/htc/sapphire-open" revision="master"/>
<project path="vendor/qcom/android-open" name="platform/vendor/qcom/android-open" revision="master"/>
<project path="vendor/qcom/proprietary-open" name="platform/vendor/qcom/proprietary-open" revision="master"/>
<project path="vendor/pv-open" name="platform/vendor/pv-open" revision="master"/>
<project path="vendor/aosp" name="platform/vendor/aosp" revision="master"/>
<project path="hardware/htc/dream" name="platform/hardware/htc/dream" revision="master"/>
</manifest>
$ ./repo sync
$ cd kernel
$ export ARCH=arm
$ export CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
$ make msm_defconfig
$ make
$ cd ~/myandroid/system/wlan/ti/sta_dk_4_0_4_32
$ make KERNEL_DIR=~/myandroid/kernel
$ cp ~/myandroid/kernel/arch/arm/boot/zImage $ANDROID/vendor/htc/dream-open/kernel
$ cp ~/myandroid/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko ~/myandroid/vendor/htc/dream-open/wlan.ko
$ cd ~/myandroid
$ source build/envsetup.sh
$ lunch aosp_dream_us-eng
指明机型
$ cd vendor/htc/dream-open
$ ./unzip-files.sh
解压htc相关驱动,需要signed-dream_devphone_userdebug-ota-14721.zip 在http://developer.htc.com/adp.html 下载
$ cd ~/myandroid
$ vi buildspec.mk
新建配置文件,加入如下内容
CUSTOM_LOCALES:=zh_CN # 设置编译为中文系统
WITH_JIT:=true # 加入JIT支持,使得运算速度加快1-2倍
$ make -j2
编译android源码,需要等待较长时间
用usb线连接手机到电脑,按home+power键将手机启动到工程模式,按back键准备烧写
$ export PATH=$PATH:~/myandroid/out/host/linux-x86/bin # 把烧写工具所在目录加上路径
$ cd out/target/product/dream-open/
$ fastboot flash system system.img
$ fastboot flash boot boot.img
$ fastboot reboot