环境准备:
基本环境: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.下载必须的源码刷手机的驱动文件并配置
  1. 进 https://developers.google.com/android/nexus/drivers 根据手机型号选对应的驱动包
  2. 下载三个驱动包: broadcom-mako-krt16s-f54c9ff9.tgz, lge-mako-krt16s-23ef7d53.tgz, qcom-mako-krt16s-cc4bd932.tgz
  3. 解压到源码根目录(也就是~/android4.4)
  4. 运行三个解压后的sh文件, 在根目录下会多出vendor目录, 这就是硬件驱动目录
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 进入手机

编译Android 4.4源代码并烧录到Nexus4的更多相关文章

  1. 编译Android4.3内核源代码

     --------------------------------------------------------------------------------------------------- ...

  2. Android 6.0 源代码编译实践

    http://www.judymax.com/archives/1087 Android 6.0 源代码编译实践 https://mirrors.tuna.tsinghua.edu.cn/help/A ...

  3. [转]编译Android源代码常见错误解决办法

    1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...

  4. 编译Android源代码与内核总结

    这些天花了些时间自己下载了android源代码来编译,当中走了一些弯路导致耗了些时间,如今又一次梳理总结下,让有同样想法的人自己编译的时候能少走些弯路,官方指导文档在http://source.and ...

  5. AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源代码包-下载/配置/编译/刷机)

    AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源代码包-下载/配置/编译/刷机) 特别感谢google官方文档及AOSP源代码开放 參考链接: https://source.a ...

  6. 下载编译 Android wear 源代码,尝试制作可穿戴设备功能

    体验 Android Wear 缘由: Android wear 代码公布已经非常久了.一直没有尝试,这里是个编译的过程和步骤,假设要尝试.本文假定读者已经有下载编译 Android  的经验,假设没 ...

  7. 编译Android源代码

    硬盘空间需要在50G以上,最好100g 系统:ubuntu14.04 交叉工具链:arm-linux-gcc-4.5.1-v6-vfp-20120301 安装 Java 开发环境 $ sudo apt ...

  8. 编译android源码m、mm、mmm命令的使用

    http://blog.163.com/zz_forward/blog/static/212898222201442873435471/ gcc怎么查看它的默认include路径和库的路径呢? //- ...

  9. 在Mac mini上编译Android源码

    参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实 ...

随机推荐

  1. CCF(URL映射:80分):字符串处理+模拟

    URL映射 CCF201803-3 #include<iostream> #include<cstdio> #include<cstring> #include&l ...

  2. 九. SpringCloud Stream消息驱动

    1. 消息驱动概述 1.1 是什么 在实际应用中有很多消息中间件,比如现在企业里常用的有ActiveMQ.RabbitMQ.RocketMQ.Kafka等,学习所有这些消息中间件无疑需要大量时间经历成 ...

  3. 聊聊IT技术人的知识体系

    我在我的2020年终总结中提到技术人需要建立自己的知识体系,那么怎么建立自己的知识体系呢?技术人的知识体系又是什么样的呢?今天,和你一一分享. 1 关于我的12字方针 我在我的<2020年终回顾 ...

  4. WPF 基础 - 图片之界面截图

    1. 功能 系统截图. 2. 实现 2.1 思路 控件继承自 System.Windows.Media.Visual, 通过 System.Windows.Media.Imaging.RenderVi ...

  5. WPF 基础 - Binding 的源与路径

    1. 源与路径 把控件作为 binding 源与 binding 标记拓展: 控制 Binding 的方向及数据更新: Binding 的路径 Path: 没有路径的 Binding: 为 Bindi ...

  6. 源码解析之 Mybatis 对 Integer 参数做了什么手脚?

    title: 源码解析之 Mybatis 对 Integer 参数做了什么手脚? date: 2021-03-11 updated: 2021-03-11 categories: Mybatis 源码 ...

  7. MySQL的安装及使用

    安装MySQL 这里建议大家使用压缩版,安装快,方便.不复杂. 1.MySQL软件下载 mysql5.7 64位下载地址: https://dev.mysql.com/get/Downloads/My ...

  8. .Net Core发布到Linux下验证码失效处理方案详解

    .net Core 部署到在 CentOS7下后,验证码打不开,报The type initializer for 'Gdip' threw an exception.异常 运行含图片处理时发生异常: ...

  9. [Fundamental of Power Electronics]-PART I-3.稳态等效电路建模,损耗和效率-3.2 考虑电感铜损

    3.2 考虑电感铜损 可以拓展图3.3的直流变压器模型,来对变换器的其他属性进行建模.通过添加电阻可以模拟如功率损耗的非理想因素.在后面的章节,我们将通过在等效电路中添加电感和电容来模拟变换器动态. ...

  10. 系统编程-网络-tcp客户端服务器编程模型(续)、连接断开、获取连接状态场景

    相关博文: 系统编程-网络-tcp客户端服务器编程模型.socket.htons.inet_ntop等各API详解.使用telnet测试基本服务器功能 接着该上篇博文,咱们继续,首先,为了内容的完整性 ...