【Android 5.1.1_r1+Nexus4】Android源码的下载、编译到刷机


参考文章:
【玩机组出品】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下执行)
    ——————————————————————————————————

这里写图片描述

猜你喜欢

转载自blog.csdn.net/delete_09/article/details/50514052