Android 源码编译环境搭建(64位Ubuntu)各种依赖包安装
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)各种依赖包安装的更多相关文章
- 【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 ...
- ffmpeg源码编译环境搭建
ffmpeg是视频开发最常用到的开源软件,FFmpeg功能强大,用途广泛,提供几乎所有你能够想到的与视频开发相关的操作,许多商业软件都以ffmpeg为基础进行开发定制. FFmpeg: FFmpeg ...
- android源码编译环境的准备及编译之后使用emulator运行的方法 - 官方版
http://source.android.com/source/initializing.html http://blog.csdn.net/ithomer/article/details/6977 ...
- 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以 ...
- Hadoop源码编译环境搭建
准备工具: maven 3.0.0版本或者更高版本(配置中心库) protocbuff 2.5.0 http://www.zlib.net/ git bash(Windows环境可以用此工具执行编译命 ...
- Jmeter3.2源码编译环境搭建
1.下载jmeter3.2源码 https://github.com/apache/jmeter/tree/v3_2 https://blog.csdn.net/fly_to_higher/artic ...
- Jmeter3.2源码编译环境搭建(转)
1.下载jmeter3.2源码 https://github.com/apache/jmeter/tree/v3_2 https://blog.csdn.net/fly_to_higher/artic ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- Hadoop源码阅读环境搭建(IDEA)
拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...
随机推荐
- 设计模式(十三): Proxy代理模式 -- 结构型模式
设计模式(十一)代理模式Proxy(结构型) 1.概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路 ...
- 单网卡多IP导致的socket connect 10060超时错误
问题: 接管别人代码时遗留的一个bug,在win7下,给一个网卡设置多个ip时,发现无法连接上服务器了.XP下就不会,这多个ip为192.168.1.127,172.1.1.13,10.0.0.1. ...
- HDU-3661(贪心)
Problem Description In a factory, there are N workers to finish two types of tasks (A and B). Each t ...
- sicily 1035. DNA matching
题意:判断基因链是否匹配,匹配的双链数加1,并要标记,下次比较不能重用! 解法: 打擂台法 #include<iostream> #include<string> #inclu ...
- Centos6 httpd与tomcat整合发布
有时候需要在Web入口地址中隐藏非80端口,而最常见的方案是整合httpd和tomcat ,下面是通过mod_jk实现httpd和tomcat整合的详细流程,希望对大家有所帮助. OS: CentOS ...
- Solr4.4.0部署到tomcat上
主要步骤如下: 1.下载solr-4.4.0.tgz 2.解压缩solr-4.4.0.tgz,命令tar -xzvf solr-4.4.0.tgz 3.压缩后进入到solr-4.4.0目录,将 exa ...
- jQuery的基本语法
index.html代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- (转)苹果iOS开发者账号过期临时解决方法
苹果iOS开发者账号过期临时解决办法 苹果iOS开发者账号一年的费用是99美金,作者最近由于各种原因,导致renew没能在账号过期之前支付好,所以在账号过期等待renew的期间,试了试一些非正常手段, ...
- PHP设计模式笔记六:数据对象映射模式 -- Rango韩老师 http://www.imooc.com/learn/236
数据对象映射模式 1.数据对象映射模式,是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作 2.在代码中实现数据对象映射模式,我们将实现一个ORM类,将复杂的SQL语句映射成对象属性 ...
- c++ THUNK技术
这里想说的是:代码中的关键点为用指令jmp pFunc跳转到你想要运行的函数pFunc. 指令"jmp xxxx"占5个字节,代码中用了个一字节对齐的结构体struct Thunk ...