首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
通信技术
»
3G
» Mac OS X 下用 Eclipse 浏览和编译 Android 源代码
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Mac OS X 下用 Eclipse 浏览和编译 Android 源代码
发短消息
加为好友
520503
当前离线
UID
872339
帖子
13270
精华
0
积分
6635
阅读权限
90
在线时间
361 小时
注册时间
2012-3-2
最后登录
2016-3-10
论坛元老
UID
872339
1
#
打印
字体大小:
t
T
520503
发表于 2014-4-24 08:05
|
只看该作者
Mac OS X 下用 Eclipse 浏览和编译 Android 源代码
Android
,
源代码
,
网站
为了能够同时开发iPhone应用程序和Android应用程序,我将所有的开发环境都集成到了自己的Macbook上,虽然用Macbook开发普通的Android应用程序没什么问题,但是你要是想用Eclipse浏览和编译Android源代码并且对其SDK进行调试,就是很麻烦的事情了。通过Google发现绝大部分Android源代码的编译和开发环境都是在Ubantu系统上,虽然Android官网提供了在MacOS X上编译源码的方式,但是尝试了多次总是发现有问题。
刚好这段时间Android源码网站被黑,终于找了一个方法能够下载到完整的代码,于是就借此机会再次尝试一下编译源码,同时在Eclipse里面调试成功,记录下来整个过程方便以后查阅。
一.设置MacOS X编译环境
这一点是根据Android官方网站提供的方法来设置的,我这里只做了一些翻译和解释工作。我自己的Macbook已经升级到了Lion,对于操作系统配置什么就不用去担心了。直接上吧。
1.创建一个大小写敏感的磁盘镜像文件
由于编译Android源代码需要将代码存放在大小写敏感的磁盘当中,所以我们需要首先创建一个大小写敏感的磁盘镜像文件(如果你的磁盘已经是大小写敏感的,则省略这个步骤,直接进入步骤2).
进入应用程序/实用工具/磁盘工具,选择文件->新建->新建空白映像:
其中名称可以随意,大小可以选择自定义30G,格式选用MacOs扩展(区分大小写),映像格式选择稀疏磁盘映像,这样文件的大小会随着文件的多少而增长,不用一上来就搞30G那么大,其它都是默认选项。
同时,你还可以通过命令行方式生成该磁盘镜像:
$hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 30g /path-to-image/AndroidDisk.sparseimage
生成的硬盘镜像文件名就是AndroidDisk.sparseimage了。似乎创建完以后OS会自动把这个镜像加载上去,挂载点是/Volumes/android,其中android就是上面我们为磁盘镜像设置的名称。
另外也可以将如下一行代码加入到~/.profile当中,function mountAndroid { hdiutil attach /path-to-image/AndroidDisk.sparseimage -mountpoint /Volumes/android; }这样以后每次用mountAndroid命令就行了。
2.安装所需要的包
1)首先你要安装的就是Xcode,由于我的机器本身就是用来开发iPhone应用程序的,所以我的Xcode是最新的版本,如果你没有Xcode,可以到苹果的官网注册一个appleid,然后可以免费下载最新的Xcode工具和MacOS SDK。
2)从macports.org安装MacPorts工具
安装MacPorts之前需要确认环境变量PATH中,/opt/local/bin出现在/usr/bin之前,可以运行一下这行来确认:
$echo $PATH
否则,就将如下代码加入~/.profile当中。
export PATH=/opt/local/bin
PATH
3)从MacPorts安装make,git, and GPG packages:
$POSIXLY_CORRECT=1 sudo port install gmake libsdl git-core gnupg
4)将gmake3.82还原到3.81
gmake3.82版本存在一个Bug,所以我们要将其还原为3.81版本。
$sudo vim /opt/local/etc/macports/sources.conf
然后在rsync那行的上面一行加上:
file:///Users/Shared/dports
然后按照下面的步骤依次执行:
$mkdir /Users/Shared/dports
$cd /Users/Shared/dports/
$svn co --revision 50980
http://svn.macports.org/reposito ... /gmake/devel/gmake/
$portindex /Users/Shared/dports
$ sudo port install gmake @3.81
执行完成后,检查一下gmake的版本:
$gmake –version
GNUMake 3.81
5)修改文件标识符限制
于是最后下载Android源码前的最后一步就是,修改文件标识符限制:
由于MacOS默认将同时打开的文件标识符数量限制得太小,并行编译处理时可能会超出这个限制。所以在 ~/.profile里加上这么一段:
#set the number of open files to be 1024
ulimit -S -n 1024
二.下载gingerbread源代码
Android源代码网站android.git.kernel.org已经被黑了很长一段时间,后来在网上另外找到一网站提供源代码下载。
1.创建~/bin/目录
$mkdir ~/bin
$PATH=~/bin
PATH
2.安装repo
$curl
http://git-repo.googlecode.com/files/repo-1.12
> ~/bin/repo
3.设置repo可执行权限
$chmoda +x ~/bin/repo
4.修改~/bin/repo文件将第五行
REPO_URL='https://code.google.com/p/git-repo/'
改为
REPO_URL='http://code.google.com/p/git-repo/'
5.新建目录gingerbread,并进入该目录
$mkdir android_gingerbread_src
$cd android_gingerbread_src
6.执行repoinit
$repo init -u git://Android.git.linaro.org/platform/manifest.git -bgingerbread
7.找到android_gingerbread_src目录中的.repo下面的manifest.xml文件,该文件只是一个链接,实际上是manifest目录下面的default.xml文件,将
fetch="git://Android.git.kernel.org/"
改为
fetch="git://Android.git.linaro.org/"
8.回到android_gingerbread_src目录下,执行reposync
$repo sync
这一步需要很长时间,喝杯茶等吧。
三.编译gingerbread源代码
1)设置必要的编译环境
编译gingerbread首先需要jdk1.6版本,不过Mac上已经自带了,所以省却这个步骤。
其次是gingerbread的编译还依赖于MacOSX10.5.sdk,但是我安装Xcode最新版本后,始终都无法通过编译,后来自己看了一下编译脚本配置文件external/qemu/Makefile.android,其中第72行,LEOPARD_SDK:= /Developer/SDKs/MacOSX10.5.sdk,将其修改为:
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议