android——CyanogenMod rom编译尝试(简记)
编译参考:http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_Bravo
编译环境:
Vmware workstation 7 + ubuntu 10.04 32位
1、安装android sdk
2、32和64位均需要安装的软件包:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
3、64位需要安装的软件包:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
4、在当前用户home目录下创建目录
mkdir -p ~/bin
mkdir -p ~/android/system
5、安装repo,并初始化
curl http://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync -j16
6、复制手机对应的文件
cd ~/android/system/device/htc/bravo/
./extract-files.sh
7、下载RomManager
~/android/system/vendor/cyanogen/get-rommanager
8、检查更新
cd ~/android/system/
repo sync
9、开始编译
. build/envsetup.sh && brunch bravo
命令简单解释:. build/envsetup.sh 是将该文件中定义的一些函数添加到当前的shell环境中,这些函数是在编译过程中会使用到的函数,比如获取相对路径、绝对路径等。
而上述命令行后面的 brunch 就是其中的一个函数,是用来编译一个分支设备的rom,在这里为bravo(HTC Desire)。
上述命令行中间的 && 符号意思为当前面的命令执行成功之后,才会执行后面的brunch bravo命令。
因此,我们也可以先执行 . build/envsetup.sh 将函数添加到shell变量中,然后再执行brunch bravo来编译Desire ROM。
最终文件: ~/android/system/out/target/product/bravo/update.cm-XXXXX-signed.zip
记录了下编译时间:如果之前编译过ROM,那么再同步源代码之后,再次编译的时间会短很多,编译不会超过10分钟。
当然如果是第一次编译,那么时间会很长,根据自己的机器配置,一般都需要半个小时以上。
1、修改默认语言为中文
修改build\target\product\full_base.mk内容:
PRODUCT_LOCALES := zh_CN
2、修改需要编译的语言
修改build\target\product\languages_full.mk内容:
PRODUCT_LOCALES := en_US \
zh_CN
即只编译英文和简体中文。
3、repo撤销本地修改
repo forall -c git reset --hard HEAD