你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu 13.04下配置Android源代码

[日期:2013-06-21] 来源:Linux社区  作者:seLc7 [字体: ]

一点小经验。

下载安装Ubuntu13.04后,启动终端。

1.Git

Android源代码是采用git管理的,所以,先安装个git: 

sudo apt-get install git-core gnupg

2.其他的一些依赖包

由于后面需要用到解压的操作,不妨先下好这些依赖包。其中libsdl-dev可能会提供更新,我看见的版本是1.2.另外就是libwxgtk2.8-dev这个也会提供更新,总之,就是要是有提示更新的就写上最新的版本好即可。
 
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl

3.Java SDK

之前在网上看了不少直接在终端里利用命令配置的描述,但是我没试验成功。两方面吧,大都还是写着sun-java6-jre等等,可是sun公司已经被Oracle收购了,如果直接更新的花,大概是oracl-java7-jre这个样子,因为oracle好像在主线上只提供java7的样子(没有详细的做),但是android开发还是利用的java6来编写的,所以,我们可以到oracl官网上查找旧的java jdk。有可能需要注册一下oracle的用户,然后同意一些协议后,就可以选择下载了,这里分了两种包,一种是32位的jdk-6u**-linux-i586.bin,一种是64位的jdk-6u**-linux-x64.bin注意看好自己的系统版本,选择合适的包下载。
下载好以后,一般会在主文件夹的下载里,剪切出来,在主文件里新建一个文件夹叫JDK(随意)什么的,粘帖进去即可。
在终端开始操作
 
cd /home/user/JDK 其中user是你的用户名,JDK就是新建的文件夹名称。
 
chmod u+x jdk-6u**-linux-i586 更改权限,后面的jdk是你下载的jdk包的名字。或者这么写 chmod 701 jdk-6u**-linux-i586
 
sudo ./jdk-6u**-linux-i586.bin 解压缩,会提示yes或者no,写yes就可,或者看到more这个词就一直回车,其实就是让你看协议。
解压完之后,会在JDK文件夹里看到一个类似jdk1.6.0_45这个名字的文件夹。
现在需要配置一下java的环境变量。
sudo gedit /etc/profile
在proifle文件后添加如下代码:

#set java environment

JAVA_HOME=/home/user/JDK/jdk1.6.0_14

export JRE_HOME=/home/user/JDK/jdk1.6.0_14/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

 

其中user还是你的用户名,jdk1.6.0_14就是刚刚解压的出来的jdk文件夹。
添加完成后,保存,重启一下系统,在终端输入 java -version 应该就可以看到java的版本信息了。

4.下载Android源代码

goolge提供了一个repo工具,实际上是个脚本文件,里面封装了下载Android源代码所需要的git命令。先下载repo
 
wget https://dl-ssl.google.com/dl/googlesource/git-repo/repo
chmod a+x repo
sudo mv repo /bin/
 
安装好repo后,新建个空文件夹,在里面执行repo命令就可言下载android源代码了。
 
mkdir Android
cd Android
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.1_r1
 
这里最后一行的-b android-2.3.1_r1是想要下载的android源代码的版本号,可以不写,那样就直接下载主线上最新的源代码,但是最新的是开发版,总会有些小问题,所不妨下比较成熟的版本,上面给出的是2.3.1,改成android-4.0.1_r1就是4.0.1版本的了。具体需要什么可以查询后再下。
 
之后执行
 
repo sync
 
就开始同步android源代码啦。
有时可能看到卡死的现象,就是数据也不更新,整个都是静态不动的,可以按ctrl+z来暂停,然后在输入一边repo sync就可言继续同步了。直到显示done这个关键字就表示下载完成了。

5.Android源代码的编译

64位机下可以直接在文件下编译。
 
~/Android$ make
 
32位机下就需要该一些相关的文件了。
(1)打开build/core/main.mk文件,找到如下的内容:
ifeq ($(BUILD_OS),linux) 
build_arch := $(shell uname -m)
#Change the following line for building on a 32-bit system.
#ifneq (64,$(findstring 64,$(build_arch)))
$(warning ************************************************************)
$(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
将第三行改为
ifneq (i686,$(findstring i686,$(build_arch)))
(2)找到下列文件:
/external/clearsilver/cgi/Android.mk
/external/clearsilver/cs/Android.mk
/external/clearsilver/java-jni/Android.mk
/external/clearsilver/util/Android.mk
修改LOCAL_CFLAGS和LOCAL_LDFLAGS变量:
# This forces a 64-bit build for Java6
 
# Change the following two lines for building on a 32-bit system.
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64
将后两行修改为
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32 
之后make即可。 
有可能会出现各种各样的错误,这时候就需要baidu&google出来帮忙了。 
最后编译晚餐后,可以将其打包成sdk:
~/Android$ make sdk
打包后,就可以在IDE环境中开发Android应用程序了。 
以上就是我的一点小经验。

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11

linux
相关资讯       Ubuntu 13.04  Ubuntu Android 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2013/9/11 14:15:39
非常感谢!!!在网上看了很多的教程,都没有搞定,最后看了楼主的分享后终于搞定了,再次表示感谢啊!!!