CM10.2编译全教程
- repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
今天是这个系列教程的关键了,终于开始编译了,哦了,开整。
一、准备工作
1.完善JDK配置
第二讲已经配置过,但是还需要几个步骤才能正常编译
打开终端,依次输入下面几行,每输入一行回车一次:
- sudo ln -s -f ~/java/jdk1.6.0_45/bin/jar
- sudo ln -s -f ~/java/jdk1.6.0_45/bin/java
- sudo ln -s -f ~/java/jdk1.6.0_45/bin/javac
- sudo ln -s -f ~/java/jdk1.6.0_45/bin/javah
- sudo ln -s -f ~/java/jdk1.6.0_45/bin/javadoc
米1/1S适配CM10.2必须要机型配套的device和vonder除此之外,还有display-legacy和media-legacy,这些东西可以在mi
ROM或者iptux大大的Github上下载,这里主要以3.4内核为例讲解。
我们先进入iptux的github,地址:https://github.com/iptux
进去之后,按下图点击:
下面这些就是我们需要下载的
怎么下载呢?我们先点android_device_xiaomi_mione_plus,会出现如下显示:
按照上图的两步完成下载,图2中其他的按照相同的方法下载
其中android_vendor_xiaomi_mione_plus选kenrel-3.4分支
除此之外还要在mirom的github(地址:https://github.com/mirom
)下载
android_hardware_qcom_media-legacy分支选cm-10.2
下载完的都是些压缩包,我们要把他们解压出来放在源码相应的位置打开主文件夹下的下载文件夹,不要关,再打开主文件夹下的cm文件夹
打开cm文件夹下的device文件夹,新建文件夹并命名为xiaomi
回到下载文件夹,双击打开android_device_xiaomi_mione_plus-jb-7.7.zip把里面的文件夹拖入xiaomi文件 夹内并重命名为mione_plus,双击打开android_device_xiaomi_msm8660-common-jb-7.7.zip同样把 里面的文件夹拖入xiaomi并重命名为msm8660-common打开cm文件夹下的vendor文件夹,新建文件夹并命名为xiaomi
双击打开android_vendor_xiaomi_mione_plus-kernel-3.4.zip把里面的文件夹拖入xiaomi文件夹内并重命名为mione_plus
打开cm下的hardware再打开qcom,双击打开android_hardware_qcom_media-legacy-cm-10.2.zip里面的文件夹拖入qcom并重命名为media-legacy
双击打开android_hardware_qcom_display-legacy-jb-7.7.zip里面的文件夹拖入qcom并重命名为display-legacy
二、打补丁
iptux的device已经针对米1/1S做了一些修复,并做成了补丁,我们现在需要应用这些补丁
打开终端,输入:
- cd cm/device/xiaomi/mione_plus/patches
- ./applypatch.sh
重新打开终端,输入:
- gedit ~/cm/device/xiaomi/mione_plus/Android.mk
- # Hack for build audio-caf
- $(shell mkdir -p $(OUT)/obj/KERNEL_OBJ/usr/include)
保存并退出
三、开始编译
重新打开终端,输入:
- cd cm/vendor/cm
- ./get-prebuilts
重新打开终端,并输入:
- cd cm
- . build/envsetup.sh
- lunch
找cm_mione_plus-userdebug,记住前面的编号,比如我这里显示11. cm_mione_plus-userdebug,那么就输入11回车
下面就可以输入编译命令开始编译了,有些人会问,为什么我编译出来的都是.img而不是zip包呢?主要是编译命令
我们可以使用这条命令直接编译并生成zip包:
- make otapackage -j4
编译命令不止这一条,还可以用下面这条:
- make bacon -j4