参考文章:
【玩机组出品】CyanogenMod12.1编译教程http://www.oneplusbbs.com/thread-572886-1-1.html
从CM刷机过程和原理分析Android系统结构http://blog.csdn.net/luoshengyang/article/details/29688041
AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源码包-下载/配置/编译/刷机)
http://blog.csdn.net/lxxgreat/article/details/37064633
感谢以上作者!
- 环境搭建
1.安装64位Ubuntu系统
2.更新系统至最新版本
sudo apt-get update
sudo apt-get upgrade
3.安装编译必需软件包
sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-7-jdk openjdk-7-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
4.建立repo工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
REPO_URL = ‘https://gerrit-google.tuna.tsinghua.edu.cn/git-repo’
- 同步源码
1.新建一个储存源码的文件夹:
mkdir ~/android/Android5.1.1_r1
cd ~/android/Android5.1.1_r1
2.初始化源码目录
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android5.1.1_r1
repo sync
或者使用cm源码的话:
repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0(cm的源码库)
repo sync
不想麻烦也有别人已经下载好的源码,放个链接:http://pan.baidu.com/s/1o7rCwIm。
(哎,天朝啊。。何必呢)
3.下载手机对应驱动
下载驱动文件并配置
1) 进 https://developers.google.com/android/nexus/drivers 根据手机型号选对应的驱动包, 我的手机是nexus 4, 源码包是android 5.1.1
2) 下载对应的三个驱动包
3) 解压到源码根目录(也就是~/android/android5.1.1_r1)
4) 运行三个解压后的sh文件, 在根目录下会多出vendor目录, 这就是硬件驱动目录
4.生成adb和fastboot命令: make fastboot adb
- 编译源码
1进入源码根目录
2 导入编译android环境变量:source build/envsetup.sh
(主要是让终端找到命令位置)
3 设置编译缓存大小:prebuilts/misc/linux-x86/ccache/ccache -M 50G
4 选择编译终端类型:lunch full_mako-userdebug
(选择对应手机版本)
5 编译:make -jn
(n为计算机处理器数目) - 刷机
1 进入刷机模式: adb reboot bootloader
2 刷image进手机: fastboot -w flashall (建议root下执行)
——————————————————————————————————