编译Android 4.4源代码并烧录到Nexus4
阅读原文时间:2023年07月09日阅读:4

环境准备:

基本环境:ubuntu-12.04-desktop-64bit(裸机或者Windows下虚拟机安装均可,14.04也可以)

其他要求:空闲磁盘空间100G以上,代码部分接近10G,内存越大越好。

==========================================

第一部分:环境初始化

==========================================

1. 安装Oracle JDK

注意:如果编译Android4.4不能用OpenJDK,必须用Oracle JDK1.6,1.7目前是不支持的。

2. 安装必备工具软件

$sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so  

3. 配置ccache

安装ccache并将export USE_CCACHE=1加入到~/.bashrc中。

==========================================

第二部分:源代码下载

========================================== 

利用已经下载好的源代码进行编译,省去了源代码的下载的繁复过程

下载地址:115网盘 http://115.com/lb/5lbcb7joklq

==========================================

第三部分:源代码编译

==========================================

1. 设置环境变量

export ANDROID_HOME=~/android4.4
   export PATH=$PATH:${ANDROID_HOME}/out/host/linux-x86/bin
   export ANDROID_PRODUCT_OUT=${ANDROID_HOME}/out/target/product/mako

2.下载必须的源码刷手机的驱动文件并配置

3. 开始编译

  1. 导入编译android环境变量: source build/envsetup.sh
  2. 设置编译缓存大小: prebuilts/misc/linux-x86/ccache/ccache -M 50G
  3. 选择编译终端类型: lunch full_mako-userdebug
  4. 编译源码: make -j4

==========================================

第四部分:编译好的系统刷入手机

==========================================

1. 查看out目录

查看是否生成 system.img boot.img recovery.img userdata.img等需要的文件

2.刷入手机

进入 system.img所在目录

1) 进入刷机模式: adb reboot bootloader

fastboot format cache

fastboot format userdata

2) 刷image进手机:sudo fastboot -w flashall

或者分别刷入 fastboot flash recovery recovery.img

          fastboot flash boot boot.img

      fastboot flash system system.img

       fastboot flash userdata userdata.img 进入手机