最近在尝试使用CM9.0,别人编译的,但总觉的不太满意,就决定自己重头编译一个吧。这个是编译的过程记录。
两个文档:
官方的Atrix 4g的CM编译文档,不过是2.3.5的:http://wiki.cyanogenmod.com/wiki/Motorola_Atrix_4G:_Compile_CyanogenMod_%28Linux%29
基本上是中文翻译,我没怎么看:http://www.ronalp.com/201203192.html
根据官方文档,下载代码,大约9GB左右,所以时间长,可以仔细看看上面的两个文档。checkout的时候,注意使用下面的命令:
repo init -u git://github.com/CyanogenMod/android.git -b ics
先执行下面的内容:
repo sync
第二步,需要从手机中copy的,不过目前olympus还没有加入,因此,执行下面的内容,检出olympus的代码,记得加分支:
rm -rf device/motorola/olympus
rm -rf vendor/motorola
git clone https://github.com/Atrix-Dev-Team/proprietary_vendor_motorola.git -b ics vendor/motorola
git clone https://github.com/Atrix-Dev-Team/android_device_motorola_olympus.git -b ics device/motorola/olympus
然后再执行那个extract-files.sh
第三步,下载RomManager,这一步也有点不同,新的目录是vendor/cm,运行里面的什么prebuild的shell脚本,没记住,执行之后,就会从网上下载一些文件,然后会解压缩之类的,不用管
第四步,第三步下载的内容应该比较新,下载的代码脚本还没有更改,需要将vendor/cm/config/common.mk中的libjackpal-androidterm3.so修改为libjackpal-androidterm4.so,如下:
PRODUCT_COPY_FILES += \
vendor/cm/proprietary/RomManager.apk:system/app/RomManager.apk \
vendor/cm/proprietary/Term.apk:system/app/Term.apk \
vendor/cm/proprietary/lib/armeabi/libjackpal-androidterm4.so:system/lib/libjackpal-androidterm4.so
最后,执行下列命令:
. build/envsetup.sh && brunch olympus
漫长的等待,等待,可以洗个澡,睡个觉,泡泡妞,总之,好几个小时之后,就会在out/target/product/olympus/目录中出现update.cm-XXXXX-signed.zip,这个就是和网上发布的那个zip包一样了,剩下的实机操作和别的没什么区别了。