Ubuntu10.04下载编译Android源码的过程 ubuntu qt5 源码编译

一、准备阶段
俗话说:工欲善其事必先利其器,下面开始准备配置环境。本教程只推荐有一定Linux知识的同学参考,以下内容及描述均建立在上述问题的基础上,怎样安装系统及其他问题请google或者百度。
OS:Ubuntu 10.04 有人说为什么不用11.04,因为那个版本不是长期演进的版本。Google推荐使用10.04的版本,其他版本的Linux 也可以使用。
JDK:Java 1.6 (Ubuntu 取消了去Java jdk的支持,需要从其他地方下载)
提示:完整编译需要RAM/swap 8G硬盘容量:大于12G;编译器和其他工具大约占用5G左右,系统占用大约3G左右。推荐预留20G以上;
Python: 2.4 -- 2.7,
Git: 1.5.4 或更新.
下载并安装ubuntu 10.04,更新系统到最新版本。安装完成后执行下列命令:
1.$ sudo passwd root 修改密码并开启root账户,然后切换系统到root账户。
2.$ sudo apt-get install g++ 编译源码的时候需要
3.$ sudo apt-get install git-core curl 下面需要
4.$ sudo apt-get install zliblg-dev
5.$ sudo apt-get install flex
6.$ sudo apt-get install bison
7.$ sudo apt-get install gperf
8.$ sudo apt-get install libsdl-dev
9.$ sudo apt-get install libesd0-dev
10.$ sudo apt-get install libncurses5-dev
11.$ sudo apt-get install libx11-dev
安装Java JDK1.6
1.$ sudo add-apt-repository "deb http://archive.canonical.com/lucid partner"
2.$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntulucid partner"
3.$ sudo apt-get update
4.$ sudo apt-get install sun-java6-jdk
从Java JDK 1.5 升级到 JDK1.6
1.$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntuhardy main multiverse"
2.$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntuhardy-updates main multiverse"
3.$ sudo apt-get update
4.$ sudo apt-get install sun-java5-jdk


安装其他所需工具软件
$ sudo apt-get install git-core gnupg flex bison gperfbuild-essential
zip curl zlib1g-dev libc6-dev lib32ncurses5-devia32-libs
x11proto-core-dev libx11-dev lib32readline5-devlib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodospython-markdown
libxml2-utils
二、下载源码
1、在home文件夹里创建bin文件夹
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2、下载repo脚本并设置权限
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo> ~/bin/repo
$ chmod a+x ~/bin/repo
3、创建工作目录
$ mkdir WORKING_DIRECTORY(你的工作目录例如:MyAndroid)
$ cd WORKING_DIRECTORY
4、运行repo 脚本程序
$ repo init -u https://android.googlesource.com/platform/manifest
5、也可以这样运行 repo脚本
$ repo init -u https://android.googlesource.com/platform/manifest-b android-2.3.7_r1
这里需要一个google帐号 输入你的用户名和 邮箱地址
6、开始获取源码文件
$ repo sync 大约持续时间1小时或者更多,和网速有关系
7、验证 源码
$ gpg –import
然后输入 下面的内容后按Ctrl-D键
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

三、编译和测试
1、初始化
$ source build/envsetup.sh或者. build/envsetup.sh 第二句注意有个点
2、选择一个目标
$ lunch full-eng 这个命令是全部 其他命令请参考 http://source.android.com/source/building.html
3、构建代码
Ubuntu10.04下载编译Android源码的过程 ubuntu qt5 源码编译
$ make -j4或 make
4、编译过程,大约持续2小时左右。
5、编译结束
******************************************************
*版本:V1.0*
*作者:小枫*
*日期:2011-10-26*
*出处:www.xiaofeng.org*
*声明:转载或修改请标明出处及作者*
******************************************************

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

http://www.cnblogs.com/and_he/archive/2012/01/04/2312027.html

在Ubuntu下获取Android4.0源代码并编译(一)

搞了几个月的Android应用开发,勉强算是个Android开发者了吧,Android本就是开源的,还是把源代码下载下来自己编译一下,看看是个什么东西,出于好奇,和以后的职业发展,开始了无休止的Android研究过程。。。

这篇连载博客用来记录我从下载源代码到编译的整个过程,开始百度和谷歌了无数资料,遇到了不少的问题,以总结出来,希望对后来者有所帮助,于我也算是一种总结吧

接下来首先开发获取最新的Android源代码,目前最新版本是4.0

要获取源代码,当然还得先看官方文档怎么说http://source.android.com/source/initializing.html


第一步:初始化编译环境

To build the Android source files, you will need to useLinux or Mac OS. Building under Windows is not currentlysupported

大概意思就是指要编译Android源代码文件,你需要使用Linux或者MacOS系统,在Windows下编译当前不是被支持的,所以,得安个Linux,我目前用的是装在虚拟机的Ubuntu,当然其它的也可以的。

Note: The source download is approximately 6GB insize. You will need 25GB free to complete a single build, and up to80GB (or more) for a full set of builds.

这一句表示有空间容量的限制,我还在下载,据说完全下载后有6G左右,建议有多大空间就分多大吧,多多益善。

第二步:建立一个Linux的编译环境

在虚拟机中安装Ubuntu以后(在安装Ubuntu的时候,建议断开网络,或者是在连网下载东西的时候,选择skip跳过,这样安装的快一些,我用的最新的ubuntu11.10),接下来:

安装JDK

一般ubuntu安装好后自带有openJDK,这里我们需要使用的是Sun公司的JDK,但是SunJDK不再ubuntu的软件源里面,为了下载到它,需要增加一个软件源地址,对于到底用JDK5还是用JDK6呢?官方有做解释的,JDK6适合于编译Gingerbread(姜饼)或者更新的版本,就是2.3或者2.3以上的版本吧,对于2.2或者更低版本的,推荐用JDK5,这里我们编译4.0的,当然就用JDK6了

在终端中运行下面三句:

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
复制代码

根据提示,一步一步地安装,记得安装的时候,会在终端中出来一个提示框,类似于许可协议的,下面有个确定,但就是点不上,按一下Tab键就选中了,直接确定就会安装,这样就安装好了JDK,可以在终端中测试一下,运行

$java -version

如果有相应的版本提示信息的话,就表示安装成功了。

接下来,如果是32位系统的话,在终端中运行

$ sudo apt-get install git-core gnupg flex bison gperf build-essential 
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown
libxml2-utils xsltproc
复制代码

如果是64位,运行

$ 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
复制代码

官方推荐用64位的,我当时没看到,用32位也不会有太大的问题,执行到这步,就已经安装好了Git和Python,除了JDK,这两个也是必须的。下面就要准备下载源码了。。。

第三步:准备下载Android源代码

接下来需要安装、初始化和配置Repo工具

首先确保在你的home目录下面有一个bin目录,如果没有的话,执行下面命令:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
复制代码

然后下载Repo脚本并确保它能够执行

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
复制代码

首先创建一个空目录用来保存工作文件

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
复制代码

然后初始化Repo

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

第四步:开始下载Androd源文件

$ repo sync

这是一个很漫长的过程,等吧,如果发现屏幕卡住了,没动了,而且也没有流量显示,或者感觉不到在下载,类似于这种


建议中断一下(按ctrl +z),然后重新执行第三步(repo sync),这时你会看到会有下载信息。第一次执行reposync的时候,可能会有错误提示,记不清楚了,百度一下也会出来,重新运行一下repo sync命令就行了。。。

目前我正在下载中,等吧



经过半天加一晚上的下载,今天早上终于下载完了(期间经常下载着就没有速度了,感觉不是网络的问题,可能是服务器不稳定造成的。我的处理办法就是先按ctrl+z中断,然后执行reposync,就又恢复正常下载了。。。)如图:


刚看了一下,有7G。接下来就准备编译吧。。。敬请期待

=================================================================

这方面的帖子不少,其实也不困难,我编译了好几次没通过,主要原因是Ubuntu的事的,总是搞不定依赖,装了第三次系统总算是搞定

总体来说,很简单,下载了源文件之后直接make就OK

当然,肯定会缺少一些程序,不如bison之类的,还有记得要用1.5的SDK

make之后,缺少哪个文件,直接sudo apt-get install 程序名,

就这么简单,当然了,编译的过程肯定会遇到不少问题的。。。 慢慢解决吧

接下来,怎么编译一部分代码生成APK文件呢(比如编译Phone)

--->cd到项目下

. build/envsetup.sh

lunch

mmm pacakages/apps/Phone

启动模拟器-->emulator &

将编译生成的Apk文件push到模拟器

(adb remount改文件属性为读写,要不没法push)

adb push 源路径 system/app

搞定,编译生成的apk就到了模拟器了

=================================================

android 原代码的下载编译
在学校混到一个项目,我们一组四个人打算弄android,于是,四个毫无基础的小白开始折腾官网的代码下载和编译。折腾了三天,终于在ubuntu上看到小绿色机器人了,真是太不容易了。总结下步骤,权当纪念,有相同兴趣的朋友们欢迎互相探讨。
正题:操作系统ubuntu 10.10,google官网说10.04就足够了。所需软件Python2.4jdk5或6 git1.5.4或更新版本。其中python在ubt中已经自动安装,无需手动安装。
1、安装jdk,因为我们定位于android 2.2,就是froyo,所以,我们选择的是jdk5,网上也有说载了jdk6后会有错误的,不过,我在下载的时候就出错了。
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntudapper main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntudapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
安装完成后,会有要你确定的设定界面,直接确定和选择是就可以了。
2、安装一些必须软件。
sudo apt-get install git-core
sudo apt-get install gnupg
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf build-essential
sudo apt-get install zip
sudo apt-get install curl
sudo apt-get install zlib1g-dev
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev
sudo apt-get install ia32-libs
sudo apt-get install x11proto-core-dev
sudo apt-get install libx11-dev
sudo apt-get install lib32readline5-dev
sudo apt-get install lib32z-dev
以上这些是官网上列出的所需的软件包,但是后面有几个软件包apt-get install的时候会说找不到软件包。网上遍历资料后,在csdn的一个哥们的提问得到帮助。
sudo apt-get install -y git-core gnupg flex bison gperf libsdl-devlibesd0-dev libwxgtk2.6-dev build-essential zip curllibncurses5-dev zlib1g-dev
两边的所需的软件包结合一下就可以继续进行了。
3、安装repo
repo是google的所提供的专业下载android代码的软件工具。
To install, initialize, and configure Repo, follow thesesteps:
1.Make sure you have a bin/ directory in yourhome directory, and that it is included in your path:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2.Download the Repo script and ensure it isexecutable:
$ curl http://android.git.kernel.org/repo> ~/bin/repo
$ chmod a+x ~/bin/repo
------------
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo> ~/bin/repo
$ chmod a+x ~/bin/repo

4、初始化repo,建立一个客户信息,可以让你和android官网互动,但是,基本上,我没有和他有什么交流,到时候随便设置一个用户名和邮箱账号就可以了。
1、先建立一个文件夹。
$ mkdir directory
$ cddirectory
2、跟新repo。
$ repo init-u git://android.git.kernel.org/platform/manifest.git
3、确认你要下载的android代码的版本,我下的是2.2,froyo.只要把最后的cupcake改成自己要下载的版本就可以了。
repo init -ugit://android.git.kernel.org/platform/manifest.git -b cupcake

---
repo init -u https://android.googlesource.com/platform/manifest-b android-2.3.7_r1
5、开始下载
这是一个很漫长的过程。视网速而定,我们学校里用ubt网速就只有30k+,机子开着就直接上课去了。
6、添加公钥。
$ gpg --import

Copy and paste the key(s) below, then enter EOF (Ctrl-D) to end theinput and process the keys. (复制和黏贴下面的代码到终端里再按ctrl+d就可以了。)
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----
7、选择版本。
$ git tag -v tagname
只需选择版本就可以了,是普通版还是精简版或是其它,直接敲数字和回车就可以了。
8、开始编译。
$ cd ~/directory
$ source build/envsetup.sh
$ lunch
$ make
这依然是一个很漫长的过程,看计算机cpu而定,我的是i7本子,性能全开,2小时多一点左右。
8、增加环境变量。
编译完了以后,需要给emulator增加一些环境变量。
$ vim ~/.bashrc(vim是一种代码编辑器,最原始的版本是不允许鼠标的,但是在终端里可以用鼠标复制黏贴。)
在.bashrc中新增环境变量,如下
#java 程序开发/运行的一些环境变量
exportANDROID_PRODUCT_OUT=~/directory/out/target/product/generic
ANDROID_PRODUCT_OUT_BIN=~/directory/out/host/linux-x86/bin
exportPATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
vim里增加代码的办法:打开.bashrc后,直接到末尾,光标移到在最后一格后,敲字母o,就会进入编辑模式,然后复制上面的三行代码进去,然后按esc推出编辑模式,按:(冒号),再按字母‘w',保存写入的三行代码,再按一次:(冒号),敲入exit然后回车就可以了。

9、最后,同步这些变化:
$ source ~/.bashrc
$ emulator
最后应该就可以进入android桌面,见到小绿机器人和手机界面就说明成功了。
转载自:http://www.cnblogs.com/froyo/archive/2011/03/20.html

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/321241.html

更多阅读

android开发工程师的工资待遇如何 测试开发工程师待遇

?行业薪酬的影响因素包括行业内、外部因素及员工个人的因素,同样,在IT行业中,要想了解android开发工程师的薪资待遇情况如何,我们也可以从这几个因素入手,加以了解。首先,企业自身的状况如何直接影响到员工的工资水平如何。企业负担能力

细致完整的Android开发环境搭建教程 android源码环境搭建

??????? 相信学习Android开发的程序猿们都晓得,?首先就是android开发环境搭建。这一课说起来简单,但是对不少Android开发入门的小白来说还是一个难点,在安卓环境搭建过程中会遇到各种各样的问题,今天就来为大家汇总归纳关于android

怎样下载百度首页的皮肤图片 百度首页怎么换皮肤

怎样下载百度首页的皮肤图片——简介百度新首页有许多款漂亮的皮肤,让人爱不释手。如果很喜欢其中的一两款,想用来作为桌面,那么,怎样下载这些皮肤图片呢?怎样下载百度首页的皮肤图片——工具/原料Chrome 浏览器怎样下载百度首页的皮肤

声明:《Ubuntu10.04下载编译Android源码的过程 ubuntu qt5 源码编译》为网友乱世枭雄震天下分享!如侵犯到您的合法权益请联系我们删除