1.准备:

普通PC(要求能上网), PC的操作系统Ubuntu 10.04 LTS(64位的),已经下载好的Android 1.6_r1的源代码。

2.Linux的依赖package安装:

为了更快的下载和安装包,请首先修改Ubuntu10.04的更新源,修改步骤如下:

在终端中运行:

$ sudo gedit /etc/apt/sources.list

将打开文本编辑器,修改源服务器的列表,这里使用网易的源,

地址如下:摘自网络

deb http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse

deb-src http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse

deb http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted

保存后关闭。

运行:

$ sudo apt-get update

更新本地的源地址列表。

接下来可以安装编译时所需要的包了。

研究发现32位和64位ubuntu的源地址是一样的。

要想编译Android源代码,要安装编译所需的依赖包,以下给出安装包的命令(其实是在官网上抄的):

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \

zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \

x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \

libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \

libxml2-utils xsltproc

GCC的版本太高,应从4.4降到4.3.

安装GCC4.3

$ sudo apt-get install gcc-4.3

$ sudo apt-get install g++-4.3

等同上两句命令的意思:

$ sudo apt-get install gcc-4.3 g++-4.3

安装完毕后,设置默认GCC的版本。

进入目录:/usr/bin/

$ sudo ln -s /usr/bin/gcc-4.3 gcc

$ sudo ln -s /usr/bin/g++-4.3 g++

安装GCC相关的依赖包:

$ sudo apt-get install gcc-4.3-locales gcc-4.3-multilib libmudflap0-4.3-dev \

gcc-4.3-doc libgcc1-dbg libgomp1-dbg \

libmudflap0-dbg g++-4.3-multilib gcc-4.3-doc \

libstdc++6-4.3-dbg libstdc++6-4.3-doc

查看是不是有/usr/lib32/mesa/libGL.so此文件,如果没有

$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

到此,依赖包安装的差不多了,安装速度,要看网络的下载速度。因为整个过程是先下载再安装。

重复执行安装命令,可以查看依赖包是不是安装成功。

3.Linux下JDK的安装。

首先要去oracle官网上下载jdk去。我已经下载了,使用的是“jdk-1_5_0_22-linux-amd64.bin”。

听说:Android的版本小于等于2.2用JDK1.5,版本大于等于2.3用JDK1.6

创建java的安装目录

$ cd /usr/local/

$ sudo mkdir java

将安装文件“jdk-1_5_0_22-linux-amd64.bin”,复制到创建的目录下

进入/usr/local/java/目录

给“jdk-1_5_0_22-linux-amd64.bin”文件增加执行权限。

$ sudo chmod 777 jdk-1_5_0_22-linux-amd64.bin

运行安装:

$ sudo ./jdk-1_5_0_22-linux-amd64.bin

会出现安装协议,要输入一个yes,同意安装。等一小会儿,安装成功。

会出一个jdk1.5.0_22的目录,表示已经安装完成。

环境变量:

返回用户目录:cd ~

修改用当前用户的配置文件:

$ vi .bashrc

在.bashrc中末尾处加入:

export JAVA_HOME="/usr/local/java/jdk1.5.0_22"

PATH=$PATH:$JAVA_HOME/bin

export  CLASSPATH=".:$JAVA_HOME/bin"

第一句意思:是建立一个名称为“JAVA_HOME”的环境变量,第二句,在环境变量“PATH”的末尾增加java的安装目录路径(指定javac的路径)。第三句,建立一个名称为“CLASSPATH”的环境变量。

编辑后 :wq 保存退出。

执行命令:

$ source .bashrc

环境变量生效。

或者把Terminal(终端)关闭,重新打开。

查看jdk的版本。

$ java -version

4.编译android源代码,升成SDK:

将android的源码复制到Ubuntu的用户主目录下,

进入android源码的根目录,

运行下命令编译环境初始化:

$  . build/envsetup.sh

注意有个点,或使用:

$ source build/envsetup.sh

选择编译项:

$  lunch sdk-eng

开始编译:

$  make sdk

编译完成后,out/target/product/generic目录下生成system.img、ramdisk.img、userdata.img

完毕。

Android 源码编译环境搭建(64位Ubuntu)各种依赖包安装的更多相关文章

  1. 【Android开发】构建Android源码编译环境

    原文:http://android.eoe.cn/topic/android_sdk 构建Android源码编译环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  2. ffmpeg源码编译环境搭建

    ffmpeg是视频开发最常用到的开源软件,FFmpeg功能强大,用途广泛,提供几乎所有你能够想到的与视频开发相关的操作,许多商业软件都以ffmpeg为基础进行开发定制. FFmpeg: FFmpeg ...

  3. android源码编译环境的准备及编译之后使用emulator运行的方法 - 官方版

    http://source.android.com/source/initializing.html http://blog.csdn.net/ithomer/article/details/6977 ...

  4. android 5.0 (lollipop)源码编译环境搭建(Mac OS X)

    硬件环境:MacBook Pro Retina, 13-inch, Late 2013 处理器  2.4 GHz Intel Core i5 内存  8 GB 1600 MHz DDR3 硬盘60G以 ...

  5. Hadoop源码编译环境搭建

    准备工具: maven 3.0.0版本或者更高版本(配置中心库) protocbuff 2.5.0 http://www.zlib.net/ git bash(Windows环境可以用此工具执行编译命 ...

  6. Jmeter3.2源码编译环境搭建

    1.下载jmeter3.2源码 https://github.com/apache/jmeter/tree/v3_2 https://blog.csdn.net/fly_to_higher/artic ...

  7. Jmeter3.2源码编译环境搭建(转)

    1.下载jmeter3.2源码 https://github.com/apache/jmeter/tree/v3_2 https://blog.csdn.net/fly_to_higher/artic ...

  8. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  9. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

随机推荐

  1. 如何关闭Altium Designer联网功能(图文教程)

    画PCB电路板的人们都知道Altium Designer这款软件,本文介绍如何避免收到Attorney,关掉Altium Designer 的自动联网功能,需要两步,介绍如下 打开AD软件, DXP- ...

  2. 关于 "Context" 模式(基于COM思想IUnknown思想)

    有同事很喜欢用Context模式,觉得是自己"首创", 我有些自己的想法, 或者大家可以发表下自己的观点.   什么是Context模式? 23种设计模式中没有这个模式, 是同事自 ...

  3. MFC中DoDataExchange()的作用

    void CDlgSelectCS::DoDataExchange(CDataExchange* pDX) {     CDialog::DoDataExchange(pDX);     DDX_Te ...

  4. 硝烟中的Scrum和XP-我们如何实施Scrum 4 (Part 1/2)

    4 制定Sprint计划 计划是Scrum中重要的一环; 是为了让团队获得足够信息, 不受打扰地工作, 增加团队的信心; Planning的成果: 1) Sprint目标 2) 团队成员名单(时间百分 ...

  5. COJ 0560 4015划分数

    4015 划分数 难度级别:B: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 有n个无区别的物品,将他们划分成不超过m组,求出划分方法数模 ...

  6. 附加、分离数据库和备份、还原数据库的区别(转载于中雪的BLOG)

    备份和恢复的概念: 备份和恢复组件是SQL Server的重要组成部分.备份就是指对SQL Server数据库及其他相关信息进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,如果数 ...

  7. ACM2039_三角形三边关系

    #include <iostream> using namespace std; int main(int argc, char* argv[]) { double a,b,c; int ...

  8. Java[3] Java多线程相关资料

    Java多线程: http://www.uml.org.cn/j2ee/201509093.asp

  9. Android学习之路——Android四大组件之activity(二)数据的传递

    上一篇讲了activity的创建和启动,这一篇,我们来讲讲activity的数据传递 activity之间的数据传递,这里主要介绍的是activity之间简单数据的传递,直接用bundle传递基本数据 ...

  10. Rational AppScan 扫描大型网站

    Rational AppScan 工作原理 Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan sourc ...