自己整理的编译cm的大致步骤,英文能力不错的可以去cm的官方wiki看看。
1.环境搭建先安装几个必要的组件,包括: bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utilslzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev 64bit的系统额外需要安装下面的组件: g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev特别说明:UB15.10系统:lib32readline-gplv2-dev 更改为lib32readline6-dev UB16.04系统:libwxgtk2.8-dev更改为 libwxgtk3.0-dev
openjdk-7-jdk 更改为 openjdk-8-jdk
设置环境变量:export EXPERIMENTAL_USE_JAVA8=true (UB16中移除了openjdk7 你非要用的话 参考这篇文章)
2.下载源码
下载Repo(需番*蔷)$ mkdir -p ~/bin$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo$ chmod a+x ~/bin/repo$PATH=$HOME/binPATH下载CM源码$ mkdir -p ~/android/system$ cd ~/android/system/$ repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0$ repo sync -c -j 8
3.下载或者创建机型配置这步是最难的,每个机型都不一样,网上也没什么教程。 1.已有相关device的机型处理如果你的机型是被cm官方支持的,那么你可以这么操作 $ . build/envsetup.sh$ lunch$ cm_{you-device-code}-userdebug通过lunch来选择机型,如果你的机型被支持。那么会自动下载所需的配置和代码到本地 2.官方不支持但有人分享了device配置如果官方不支持的话,你可以去github搜索看看,运气好就搜到咯~ 关键词么,大概是设备的品牌名称和机型的代号 然后下载对于的devices到本地cm代码目录 3.自己创建device这已经超出我的能力了,有能力的也不会看我的教程 -__-
repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0 repo sync source build/envsetup.sh lunch cm_gemini-userdebug export USE_CCACHE=1
prebuilts/misc/linux-x86/ccache/ccache -M 50G make otatools
make otapackage make clobber repo forall -c git reset –hard
|