编译Android 4.4源代码并烧录到Nexus4
2024-09-16 06:16:55
环境准备:
基本环境: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.下载必须的源码刷手机的驱动文件并配置
- 进 https://developers.google.com/android/nexus/drivers 根据手机型号选对应的驱动包
- 下载三个驱动包: broadcom-mako-krt16s-f54c9ff9.tgz, lge-mako-krt16s-23ef7d53.tgz, qcom-mako-krt16s-cc4bd932.tgz
- 解压到源码根目录(也就是~/android4.4)
- 运行三个解压后的sh文件, 在根目录下会多出vendor目录, 这就是硬件驱动目录
3. 开始编译
- 导入编译android环境变量: source build/envsetup.sh
- 设置编译缓存大小: prebuilts/misc/linux-x86/ccache/ccache -M 50G
- 选择编译终端类型: lunch full_mako-userdebug
- 编译源码: 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 进入手机
最新文章
- MySQL配置文件my.cnf 例子最详细翻译
- [转]Java学习日记之 volatile
- hdu4686 Arc of Dream ——构造矩阵+快速幂
- ubuntu 14.04安装mysql server &; mysql client
- threeSum_0
- git不能提交jar的设置
- apache基本配置
- android 定时拍照并发送微博
- Java学习笔记——JDBC之PreparedStatement类中“预编译”的综合应用
- Android API
- CF1029A Many Equal Substrings
- 条件随机场之CRF++源码详解-特征
- 字典树Java实现
- jQuery仿天猫完美加入购物车
- 7. B+树
- 常用web对比
- userAgent font-family
- Traefik的TLS配置
- 【dlbook】机器学习基础
- input 标签和a标签实现超链接的区别
热门文章
- 剑指 Offer 35. 复杂链表的复制
- HDOJ-1213(简单并查集)
- Python flask-restful框架讲解
- Springboot 轻量替代框架 Solon 1.3.10 发布
- 不一样的软件们——GitHub 热点速览 v.21.10
- (2)MySQL进阶篇SQL优化(show status、explain分析)
- crf++分词
- Linux入门视频笔记二(Shell)
- J. Cole 的 InnoDB 系列 - 1. 学习 InnoDB - 深入探索核心原理之旅
- java例题_32 取一个整数a从右端开始的4~7位