关闭

Ubuntu15.1编译Android5.1详解

1292人阅读 评论(0) 收藏 举报

谷歌官网对Android源码编译已经有详细说明,但是第一次编译过程中我也遇到了非常多意想不到的问题,在此记录,希望能帮助到其他人。

官网编译地址:http://source.android.com/source/downloading.html


                           Ubuntu15.1编译Android5.1详细流程

之前软件更新总是非常慢,因为访问外国服务器比较慢,所以配置Ubuntu时,可以更换一个更快的国内软件源

参考地址:http://www.linuxidc.com/Linux/2014-04/100476.htm



在编译之前,先安装git,gcc,python,java1.7


安装git

$sudo apt-get  install git 




使用sudo apt-get install安装的软件怎么查看安装路径?

首先安装 apt-file,命令:sudo apt-get install apt-file,然后使用命令:apt-file list softwarename

例如:apt-file list git

gitg: /usr/lib/gitg/gitg/plugins/libfiles.so
gitg: /usr/lib/gitg/libgitg-1.0.so
gitg: /usr/lib/gitg/libgitg-1.0.so.0
gitg: /usr/lib/gitg/libgitg-1.0.so.0.0.0
gitg: /usr/lib/gitg/libgitg-ext-1.0.so
gitg: /usr/lib/gitg/libgitg-ext-1.0.so.0
gitg: /usr/lib/gitg/libgitg-ext-1.0.so.0.0.0
gitg: /usr/share/appdata/gitg.appdata.xml
gitg: /usr/share/applications/gitg.desktop
gitg: /usr/share/doc/gitg/changelog.Debian.gz
gitg: /usr/share/doc/gitg/copyright
gitg: /usr/share/gir-1.0/Gitg-1.0.gir
gitg: /usr/share/gir-1.0/GitgExt-1.0.gir
gitg: /usr/share/gitg/icons/hicolor/scalable/actions/diff-symbolic.svg
gitg: /usr/share/glib-2.0/schemas/org.gnome.gitg.gschema.xml
gitg: /usr/share/icons/hicolor/16x16/apps/gitg.png
gitg: /usr/share/icons/hicolor/22x22/apps/gitg.png
gitg: /usr/share/icons/hicolor/24x24/apps/gitg.png
gitg: /usr/share/icons/hicolor/256x256/apps/gitg.png
gitg: /usr/share/icons/hicolor/32x32/apps/gitg.png
gitg: /usr/share/icons/hicolor/48x48/apps/gitg.png
gitg: /usr/share/icons/hicolor/scalable/apps/gitg-symbolic.svg
gitg: /usr/share/locale/as/LC_MESSAGES/gitg.mo

.......



安装openJDK

$sudo apt-get install openjdk-7-jdk

$java -version 

安装好后,设置环境变量:

 

在/etc/profile 文件末尾加上:

    1. JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/  
    2. PATH=$PATH:$HOME/bin:$JAVA_HOME/bin  
    3. export JAVA_HOME  
    4. export PATH  





开始安装repo

参见官网:http://source.android.com/source/downloading.html

无论下载内核和源码,都需要进行如下操作

(1)Make sure you have a bin/ directory in your home directory and that it is included in your path:
$ mkdir ~/bin
$ PATH=~/bin:$PATH

这个目录是放 repo脚本的,repo脚本是对git的一种封装

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(2)Download the Repo tool and ensure that it is executable:

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo


回到主目录,建立一个文件夹,以便下载的android源码保存其中
$ mkdir android
$ cd android

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

(3)Installs Repo in the current directory


执行安装repo init -u git***时可能会出现下面的错误

~/bin/repo: line 1: syntax error near unexpected token `newline'

~/bin/repo: line 1: `<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

其实问题就是下载的repo出错了,我估计从官方下载的repo文件有错误,可以重新下载一个就好了

参考地址:http://blog.csdn.net/kai46385076/article/details/17460563






配置好之后最后可以通过repo sync获取android源码


组建编译平台

直接参考google源码编译官网。我是ubuntu15.1所以参考了14.0+版本的编译平台。

编译android源码只有三步


source build/envsetup.sh//初始化编译环境,包括后面的lunch和make指令

lunch//指定此次编译的目标设备以及编译类型

make -j12//开始编译,默认为编译整个系统,其中-j12代表的是编译的job数量为12。


参考地址:https://segmentfault.com/a/1190000004684809

参考地址:http://source.android.com/source/building.html


To ensure the newly installed binaries are properly taken into account after being extracted, delete the existing output of any previous build using:




Initialize the environment with the envsetup.sh script. Note that replacing source with . (a single dot) saves a few characters, and the short form is more commonly used in documentation.



Choose which target to build with lunch. The exact configuration can be passed as an argument




开始编译后,肯定会出现各种问题。我把我遇到的问题全部列举出来,欢迎大家添加


1,如果在虚拟机上编译要特别注意硬件要求,我在这里卡壳了很久!

  • A 64-bit environment is required for Gingerbread (2.3.x) and newer versions, including the master branch. You can compile older versions on 32-bit systems.
  • At least 100GB of free disk space for a checkout, 150GB for a single build, and 200GB or more for multiple builds. If you employ ccache, you will need even more space.

  • If you are running Linux in a virtual machine,you need at least 16GB of RAM/swap
参考官网硬件要求。虚拟机的运存肯定不够,只能扩充swap区了。如何扩充swap呢?

参考地址:http://jingyan.baidu.com/article/f96699bbcf8dac894f3c1b5c.html 以及鸟哥的linux相关章节




参考地址:http://www.tianwaihome.com/2012/12/android-compile.html

参考地址:http://blog.csdn.net/kevinshq/article/details/7770164

参考地址:http://www.cnblogs.com/xingfuzzhd/archive/2012/09/05/2672000.html

1
0
查看评论

Ubuntu 14.04搭建Android5.1开发环境和编译

Ubuntu 14.04搭建Android5.1开发环境和编译 1、安装Ubuntu14.04 Desktop版本64bit,U盘安装 先下载Ubuntu系统,官网地址,从ubuntu10.04-ubuntu15.04都有下载,具体根据需求可以下载desktop和server版本,一般虚拟机...
  • daniel80110_1020
  • daniel80110_1020
  • 2016-11-07 17:18
  • 862

ubuntu16.04编译android5.1环境配置

ubuntu16.04编译android5.1环境配置
  • lj402159806
  • lj402159806
  • 2017-06-07 13:13
  • 1515

安装Ubuntu12.0.4LTS/14.045 LTS 编译Android6.0/7.0环境

sudo apt-get update  sudo apt-get upgrade  sudo apt-get install openjdk-7-jdk  sudo apt-get install curl sudo apt-get install bison...
  • wds1181977
  • wds1181977
  • 2017-05-07 15:32
  • 1384

Ubuntu 17.04上编译android7.1.1

最近进行了源码编译工作,写下了一篇笔记,是为了加深记忆
  • r598476602
  • r598476602
  • 2017-08-19 13:12
  • 1244

在Android5.1系统Linux内核源码内开发Android硬件驱动程序

  • 2017-04-25 18:27
  • 7KB
  • 下载

在macOS 10.12 上编译 Android 5.1

官方文档虽然也有介绍,但是macOS平台上的编译环境问题还存在很多坑。本文介绍下如何在在macOS 10.12 上编译 Android 5.1源码,导入源码到Android Studio中,把系统烧录到Nexus6手机中。
  • u012455213
  • u012455213
  • 2017-01-21 19:02
  • 1079

建立Android5.1.1编译环境

本节描述如何设置你当地的工作环境 Android源代码文件。 您将需要使用Linux或Mac OS。 注意下 Windows目前不支持。整个代码复审的概述和代码更新过程。选择一个分支有些要求由编译环境所决定的 你打算编译版本的源代码。 看到构建数字为一个完整的清单你可能的分支 选择。 你也可以选择下...
  • qiaowei020
  • qiaowei020
  • 2015-12-15 10:22
  • 1902

Android实战技巧之四十:Android5.1.1源代码编译与烧写

购买Nexus手机的朋友大多是为了自己修改系统玩,再加上其较高的性价比,在开发者中还是广受欢迎的。我的5太子被我升级到了6.0预览版,玩的正嗨,舍不得换回到5.1时代了。不过鉴于距6.0源码发布还有段日子,5.1的源码编译与烧写仍是主流,下面就记录了整个过程(持续了很长时间,我们要有耐心)。搭建开发...
  • lincyang
  • lincyang
  • 2015-09-03 20:29
  • 29980

Ubuntu16.04编译Android5.1源码

1.安装基本组件 sudo apt-get install git-core gnupg flex bison gperf build-essential \   zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ ...
  • u010164190
  • u010164190
  • 2017-03-14 13:38
  • 1776

Ubuntu 16.04 Android 5.1编译环境搭建记录

Ubuntu 16.04 android 5.1 编译环境搭建,MTK编译环境搭建
  • a906754899
  • a906754899
  • 2017-05-10 14:01
  • 3236
    个人资料
    • 访问:49033次
    • 积分:1207
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:4篇
    • 译文:0篇
    • 评论:13条