硬盘空间需要在50G以上,最好100g

系统:ubuntu14.04

交叉工具链:arm-linux-gcc-4.5.1-v6-vfp-20120301

安装 Java 开发环境

$ sudo apt-get install openjdk--jdk openjdk--jre

首先准备android-5.0.2-fs-20150325.tar.gz 文件

解压

$ tar xzf android-5.0.-fs-.tar.gz

在 Ubuntu 下的解压内核并编译,命令为:

$ tar xzf linux-3.0.-.tgz
$ cd linux-3.0./
$ cp tiny4412_android_defconfig .config
$ make zImage

产生zImage文件在/arch/arm/boot目录下

编译 Android 系统

进入上述解压得到的 android-5.0.2, 执行以下命令(注意: “.”号后有一个空格):

$ . setenv

再执行“lunch”命令, 输入“full_tiny4412-eng”前的数字标号, 如下所示:

$ lunch
You're building on Linux
Lunch menu... pick a combo:
. aosp_arm-eng
. aosp_arm64-eng
. aosp_mips-eng
. aosp_mips64-eng
. aosp_x86-eng
. aosp_x86_64-eng
. full_tiny4412-userdebug
. full_tiny4412-eng
. aosp_mako-userdebug
. aosp_hammerhead-userdebug
. aosp_tilapia-userdebug
. aosp_grouper-userdebug
. aosp_deb-userdebug
. full_fugu-userdebug
. aosp_fugu-userdebug
. aosp_flo-userdebug
. aosp_shamu-userdebug
. aosp_manta-userdebug
. mini_emulator_mips-userdebug
. mini_emulator_x86_64-userdebug
. mini_emulator_arm64-userdebug
. m_e_arm-userdebug
. mini_emulator_x86-userdebug
Which would you like? [aosp_arm-eng] 

接着执行“make”命令开始编译,也可以在 make 后加上“-j”参数利用 CPU 的多核加快编译
速度,比如在 4 核 CPU 上可以执行“make –j4”。
注意: 编译过程可能持续 4、 5 个小时。
最后,执行以下命令生成映象文件:

$./gen-img.sh

注意: 如果提示如下错误,要先编译 u-boot 以得到 mkimage 工具, 方法见后。
./gen-img.sh: line 31: mkimage: command not found
编译 u-boot 以得到 mkimage 工具的方法:

$ tar xzf uboot_tiny4412-.tgz
$ cd uboot_tiny4412/
$ make tiny4412_config
$ make
$ sudo cp tools/mkimage /usr/bin/
 uboot_tiny4412-20130729.tgz在uboot工具中

最终在android-5.0.2目录下产生

android studio工程索引文件 android.ipr   android.iml

 系统镜像文件  system.img  ramdisk-u.img   userdata.img  userdata-4g.img  userdata-8g.img  userdata-16g.img

 

编译Android源代码的更多相关文章

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

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

  2. 【转】如何单独编译Android源代码中的模块--不错

    原文网址:http://blog.csdn.net//article/details/6566662/ 第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命 ...

  3. 如何单独编译Android源代码中的模块

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6566662 第一次下载好Android源代码工 ...

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

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

  5. 【Android 系统开发】下载 编译 Android源代码 和 Android kernel源代码

    下载Android源码简要流程 : a. 获取repo文件: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo ...

  6. 下载 编译 Android源代码 和 Android kernel源代码

    下载Android源码简要流程 : a. 获取repo文件: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo ...

  7. Ubuntu 下编译Android 源代码

    1.配置JDK 1.6 或者1.7(看情况配置,有的Android版本不能在1.7下运行) 2.配置环境:终端:(CTRL+ALT+T) $ sudo apt-get install git gnup ...

  8. Android源代码编译过程及指令

    编译Android源代码分为两种情况: 1. 完整编译源码: ./mk_aliphone.sh --> 完整编译脚本 --> 6735  输入对应的编号 --> userdebug ...

  9. 在mac os下编译android -相关文章

    1. Mac OS X下编译Android源码 http://blog.csdn.net/bulreed/article/details/22783467 2.MAC OS 编译 Android源代码 ...

随机推荐

  1. RbMQ 简介

    Broker:简单来说就是消息队列服务器实体. Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列. Queue:消息队列载体,每个消息都会被投入到一个或多个队列. Binding:绑 ...

  2. oracle中Varchar2和nvarchar2的区别

    在oracle 11g下测试了下varchar2与nvarchar2这两种类型,网上有很多关于这两种类型的区别的帖子,我还是自己测试了下. varchar2(size type),size最大为400 ...

  3. python5数据存储

    1 txt文件存储 正常调用文件python文件操作 https://www.cnblogs.com/x2x3/p/9979919.html 2 json文件存储 在JavaScript语言中,一切都 ...

  4. js序列化----转载

    https://www.cnblogs.com/craftsman-gao/p/5130567.html JSON的全称是”JavaScript Object Notation“——JavaScrip ...

  5. java web项目获取项目路径

    注意:有时获取到的项目路径后再+“自定义路径后” 路径不可用,这时要看下项目里自定义路径是不是空文件夹,如果是空文件夹则调试和运行时文件夹不会编译到部署文件里. 1.方法一 调试时只能获取eclips ...

  6. delphi三层DCOM架构

    DCOM架构: 服务端开发: 采用Delphi7+SQL2008 一.创建数据库和表 CREATE TABLE [dbo].[tb_Department]( [FKey] [uniqueidentif ...

  7. java基础学习笔记五(抽象类)

    java基础学习总结——抽象类 抽象类介绍

  8. Java8 使用stream 实现wordcount

    案例: public static void main(String[] args) { List<String> items = Arrays.asList("apple&qu ...

  9. 搭建ceph集群(单节点)

    https://blog.csdn.net/Greenchess/article/details/77525786 软件环境: - Centos7 x64 CEPH版本 : - ceph-deploy ...

  10. element-uI隐藏表格头部

    1.表格结构定义 :show-header="hiddenTableHeader" 2. data里面定义 hiddenTableHeader:false,