找回密码
 注册
搜索
查看: 3158|回复: 18

[讨论] android平台下载和编译方法(官方的方法)

[复制链接]
发表于 2008-12-16 15:53:43 | 显示全部楼层 |阅读模式
Android开发者原创 转载请注明

北京理工大学  20981  陈罡

10月22日,这是有纪念意义的一天,因为google公司在那一天总算开放了整个androidplatform的源代码,总算可以不用在那个java的虚拟机里面自娱自乐了。总想写点什么庆祝一下,又觉得过于苍白,于是抽时间来真刀真枪的试一遍看看到底google有没有“忽悠”我们。

android的源代码下载的官方网站是:http://source.android.com
源代码的下载说明页面是:http://source.android.com/download

其实英文好的朋友大可不必看偶在此罗嗦,直接follow google的说明就行了,一切都很简单。

下面就把android platform在slackware 12.0上面的下载、编译过程汇总一下:

(1)当然了,需要安装slackware 12.0或者更高版本的linux发行版,直接选择“full”模式,完全安装。

(2)确认环境是否达到了要求,你可以在linux下面建立一个账户,然后在账户的目录下面查看是否满足如下的要求:
a)git (1.5.4或者以上版本,slackware 12.0本身就是1.5.5的)
b)python (2.4或者以上的版本,slackware 12.0本身应该是2.5的)
c)jdk5.0以上的版本,这个slackware 12.0没有,slackware只有java的运行环境而已,于是登录:
http://java.sun.com/javase/downloads
下载一个即可,我下载的是jdk5.0 update 10的版本,理论上应该越高越好吧。
然后,就用chmod a+x jdkxxxxxxx.bin,然后运行,安装到你的机器上即可。
(注:当然了,也可以直接su成root把安装包弄到/usr/local目录下面去)

然后有一个网络方面的设置需要注意,运行如下程序:
/usr/local/jdk-xxxxxxx/bin/ControlPanel
选择在network里面选择setting,然后把连接类型设置为Direct Connection。

(3)创建工作目录,进入工作目录,创建bin目录:
mkdir ~/works
mkdir ~/works/android_dev
cd ~/works/android_dev

mkdir bin

(4)下载安装repo版本管理工具
curl http://android.git.kernel.org/repo > ~/works/android_dev/bin/repo
cd bin
chmod a+x repo

(5)开始准备下载android
cd ~/works/android_dev
./bin/repo init -u git://android.git.kernel.org/platform/manifest.git
通常情况下会出现error提示(如果是以前没有创建过repo账户的话),这个不要紧,忽略掉它好了。

(6)配置repo账户
git config --global user.email "[email=xxxxx@xxxxxxx]xxxxx@xxxxxxx[/email]"
git config --global user.name "xxxxxx"

(7)开始下载android platform的源代码
repo sync
这个操作会持续一段时间,看网速了;google上面说的源代码占用2.1G的硬盘空间,但似乎没有那么大,只有900M左右。

(8)好了,现在准备一下环境变量
最好在.bashrc或者在/etc/profile文件中添加环境变量定义:
export ANDROID_JAVA_HOME=$JAVA_HOME
需要logout,再login一下,然后用:
echo $ANDROID_JAVA_HOME
命令来确认一下环境变量是否已经生效

(9)修改一个小“bug”
理论上在ubuntu上面可以直接开始编译了,但是在slackware上似乎还需要手工修改一个编译脚本上的bug,找到如下文件:
~/works/android_dev/external/sqlite/dist/Android.mk
找到下面这一行:

ifneq ($(strip $(have_readline)),)
LOCAL_LDLIBS += -lreadline
endif

这里只有一个-lreadline,对于slackware来说就不够了,编译的时候会出现libreadline.so:undefinedreference 'PC'之类的错误。修正的方法很简单,就是直接在这一句的后面加上-lncurses,改正后应该是这个样子的:
LOCAL_LDLIBS += -lreadline -lncurses
好了,然后就可以开始放手编译了。
(10)编译
make
好了,然后就可以出去晃晃,喝杯咖啡了(足够你喝很多很多杯的咖啡)。
编译完毕以后,会发现在代码目录下多了一个目录:
~/works/android_dev/out
这就是生成的结果了,此时不要着急,需要先再设置一下环境变量方法同(8):
export ANDROID_PRODUCT_OUT=/home/wayne/works/android_dev/out/target/product/generic
设置完了以后,需要logout,再login一次才可以喔,更新环境变量。
(11)开始验证生成的结果
进入android_dev/out/host/bin/目录下,然后运行:
emulator --debug-init -skin QVGA-L [回车]
应该看到以下的画面(第一次开启的时候,应该还有一个向google反馈的一个对话框,按下确定即可):
到了这一步,恭喜恭喜!呵呵,基本上已经编译通过了,要想编译成arm板子上可以跑的版本还需要进一步修嘎android的编译脚本才可以。具体的操作,就不在这里罗嗦了。
最后,实验一下android的浏览器,这可是传说中的Webkit啊!感觉不错。
发表于 2009-7-17 10:14:31 | 显示全部楼层
不错,我还没有用过这种方法
点评回复

使用道具 举报

发表于 2009-8-14 17:18:41 | 显示全部楼层
呵呵,进来学习一下.
点评回复

使用道具 举报

发表于 2009-8-28 20:43:36 | 显示全部楼层
Linux环境的开发平台啊!
点评回复

使用道具 举报

发表于 2009-9-2 14:44:34 | 显示全部楼层

我编译了快20个小时才成功!!

我编译了快20个小时才成功!!
点评回复

使用道具 举报

发表于 2009-9-16 14:59:51 | 显示全部楼层
拿钱走人
点评回复

使用道具 举报

发表于 2010-1-4 15:10:45 | 显示全部楼层
拿钱走人
点评回复

使用道具 举报

发表于 2010-2-8 17:48:40 | 显示全部楼层
等下去试试
点评回复

使用道具 举报

发表于 2010-2-10 10:57:05 | 显示全部楼层
linux,没有装过噢
点评回复

使用道具 举报

发表于 2010-3-4 11:05:29 | 显示全部楼层
版本现在不是最新的了呵 !
点评回复

使用道具 举报

发表于 2010-3-17 09:21:55 | 显示全部楼层
有空试下 刚找了块ARM板子
点评回复

使用道具 举报

发表于 2010-3-23 11:48:25 | 显示全部楼层
h还不错啊,写的很清晰
点评回复

使用道具 举报

发表于 2010-3-27 16:33:12 | 显示全部楼层
谢谢LZ
点评回复

使用道具 举报

发表于 2010-4-7 09:28:47 | 显示全部楼层
mao si hen hao a
点评回复

使用道具 举报

发表于 2010-4-9 10:43:37 | 显示全部楼层
学习下,谢谢
[em01][em01]
点评回复

使用道具 举报

发表于 2010-5-13 20:07:55 | 显示全部楼层
學到學到 感謝感謝
点评回复

使用道具 举报

发表于 2010-6-12 19:43:34 | 显示全部楼层
谢谢分享, 谢谢LZ
点评回复

使用道具 举报

发表于 2010-6-15 15:54:30 | 显示全部楼层
谢谢!学习~
点评回复

使用道具 举报

发表于 2010-12-7 13:21:40 | 显示全部楼层
六个脚印[em01]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 07:46 , Processed in 0.075332 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表