您的位置:首页 > 移动开发 > Android开发

android 编译环境 搭建

2013-12-19 20:36 141 查看
2009-12-16 23:15
注:使用Eclipse的在线安装adt应该是会出问题的,建议手动下载adt包,然后解压把features里的文件放到Eclipse的features里,plugins里的文件放到Eclipse的plugins里,这样有可能会遇到Eclipse重启没有加载插件的问题,只要修改/configuration/config.ini这个文件,在最后加一句osgi.bundles.defaultStartLevel=4

然后再启动就可以找到adt了(找到adt后下次启动Eclipse的时候要记得注释这一句)

这句的作用重新扫描所有插件,不注释的结果就是Eclipse每次启动会花时间扫描,慢!

一. eclipse3.4+android-sdk-1.6+sdt0.9.3

1.安装jdk

sudo apt-get install sun-java6-jdk

2.安装eclipse3.4

2.1下载
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release /galileo/SR1/eclipse-java-galileo-SR1-linux-gtk-x86_64.tar.gz

2.2解压

tar -zxvf eclipse-java-galileo-SR1-linux-gtk-x86_64.tar.gz

解压到当前目录

2.3启动

./eclipse就可以启动起来了.

2.4创建启动器

bula,bula

3.安装ADT0.9.4

启动eclipse

Help->Software Updates..->Add
Site...->Archiver

选择adt0.9.4

4.安装android-sdk-1.6

下载android-sdk-linux_x86-1.6_r1.tgz

tar -zxvf android-sdk-linux_x86-1.6_r1.tgz

解压至一个目录

在eclipse中设置SDK Location

Windows->Preferences->Android

OK,可以建个HelloAndroid试试了。

二.源码编译环境

1 Git and repo 获得android源码

1.1 Git的安装

在Ubuntu
9.04上安装git和curl。其中cURL是一个利用URL语法在命令行下工作的文件传输工具,会在后面安装Repo的时候用到。

sudo apt-get install git-core curl

1.2、安装Repo

通过cURL来下载Repo脚本,保存到~/bin/repo文件中

curl http://android.git.kernel.org/repo
>~/bin/repo

给repo可执行权限

chmod a+x ~/bin/repo

1.3、初始化版本库

如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。

先建立一个目录,比如~/android,进去以后用repo init命令即可。

repo init -u git://android.git.kernel.org/platform/manifest.git

用时10分钟。最后会看到 repo initialized in
/android这样的提示,就说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。

如果想拿某个branch而不是主线上的代码,我们需要用-b参数制定branch名字,比如:

repo init -u git://android.git.kernel.org/platform/manifest.git -b
cupcake

另一种情况是,我们只需要某一个project的代码,比如kernel/common,就不需要repo了,直接用Git即可。

git clone git://android.git.kernel.org/kernel/common.git

这也需要不少的时间,因为它会把整个Linux Kernel的代码复制下来。

如果需要某个branch的代码,用git
checkout即可。比如我们刚刚拿了kernel/common.get的代码,那就先进入到common目录,然后用下面的命令:

git checkout origin/android-goldfish-2.6.27 -b goldfish

这样我们就在本地建立了一个名为goldfish的android-goldfish-2.6.27分支,代码则已经与android-goldgish-2.6.27同步。我们可以通过git
branch来列出本地的所有分支。

1.4、同步版本库

repo sync

使用这个命令,我们把整个Android代码树做同步到本地。这个才是真正去抓代码。

这个过程会持续很长的时间,我用了老长时间,8个小时,还是9个。中间网络变的很慢50字节/s,我就取消了,然后重新repo
sync.最后终于成功了。

同样,我们可以用类似

repo sync project1 project2 …

这样的命令来同步某几个项目

如果是同步Android中的单个项目,只要在项目目录下执行简单的

git pull

即可。

2 编译

2.1 编译必须的软件包

gcc g++ flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev
build-essential zip valgrind zlib1g-dev libncurses5-dev

我是用新立得安装的。

2.2 安装sun-java5-jdk,并设置为默认jdk

安装

sudo apt-get install sun-java5-jdk

把sun-java5-jdk设为系统默认

sudo update-java-alternatives -s java-6-sun

2.3 编译

切到android 源码根目录

cd ~/android

make

第一次进行整体编译,这个过程大概持续2到3小时,默认情况下,android/目录下生成一个out文件夹,所有的编译生成文件都在这一目录下。

2.4 编译SDK

make sdk

编译成功后,生成的SDK在out/host/linux-x86/sdk目录下的android-sdk_eng.root_linux-x86的文件夹里。
打开这个文件夹,可以看到这里主要由以下几部分组成:

–add-ones –需要增加的新工具路径

–docs –关于模拟器和各种开发工具的说明等

–platform –模拟器和开发工具需要的文件

–tools –模拟器和开发工具的应用程序

./android create avd donut

然后修改donut.avd/config.ini文件

image.sysdir.1=/android工程路径/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/platforms/android-1.6/images

skin.path=/android工程路径/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/platforms/android-1.6/skins/HVGA

./emulator -avd donut

OK.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: