曾经买了本android系统内核分析的书,看了一段看不懂,工作也忙,差不多两年过去了,感觉android水平需要提高一下,就装备把书看看,但是在网上找了一些文章,参考了官方的下载方式,最后都没有很好的解决问题把源码下载下来。最后经过不断的尝试折腾,终于可以把源码下载下来了。具体步骤如下

在开始以下步骤之前,首先系统是安装过eclipse+jdk环境的,是可以开发android应用程序的。

环境配置

1)Finder--》应用程序--》磁盘工具--》新建映像(注意格式为Mac OS 扩展(区分大小写,日志式),因为mac 系统出厂时默认格式的硬盘是不区分大小写的,而android的Framework是区分大小写的)。另外新建映像应该放到 ~/ 目录下,因为本人对Unix-like系统不太懂。但是经过测试验证也就是用户目录下。具体如下图:

创建后如下图:

2)挂载镜像磁盘

使用命令:

hdiutil attach ~/android.dmg -mountpoint /Volumes/android

Google官网推荐把这行加到~/.bash_profile里,定义成mountAndroid命令就行了
# mount the android file image function mountAndroid { hdiutil attach ~/android.dmg -mountpoint /Volumes/android; }

具体操作是在终端,使用vim 编辑.bash_profile。(vim的使用参考:http://blog.csdn.net/eric_xjj/article/details/8932502)

结果如下图:

3)安装MacPorts

安装MacPorts之前需要确认环境变量PATH中,/opt/local/bin出现在/usr/bin之前,可以运行一下这行来确认:
$ echo $PATH

否则,就运行:
$ export PATH=/opt/local/bin:$PATH
并把上面那行加在~/.bash_profile里。

4)从MacPorts安装make, git, and GPG packages:
$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git-core gnupg

如果你是Mac OS X 10.4版本的话,还要安装个bison
$ POSIXLY_CORRECT=1 sudo port install bison

5)下面要把gmake 3.82还原到3.81,否则之后编译源码会出错:(3.82有Bug,用不了):
$ sudo vim /opt/local/etc/macports/sources.conf
然后在rsync那行的上面一行加上
file:///Users/Shared/dport
之后按这个步骤来就行了:
$ mkdir /Users/Shared/dports
$ cd /Users/Shared/dports/
$ svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/

$ portindex /Users/Shared/dports
安装3.81版的:
$ sudo port install gmake @3.81
检查一下gmake版本,看到版本号是3.81就对了:
$ gmake --version

最后下载Android源码前的最后一步就是,修改文件标识符限制:
由于Mac OS 默认将同时打开的文件标识符数量限制得太小,并行编译处理时可能会超出这个限制。所以在 ~/.bash_profile 里加上这么一段:
# set the number of open files to be 1024
ulimit -S -n 1024

下载android源码:

安装Git Repo:
$ mkdir ~/bin
$ PATH=~/bin:$PATH

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo(官方的下载方式回提示curl(56)的错误)所以应该使用下面的url:

curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo

$ chmod a+x ~/bin/repo
初始化Git Repo进入开始时挂载的镜像硬盘,建立一个工作目录:
$cd /Volumes/android
$mkdir WorkingSpace/
$cd Working Space/
repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread (备注因为买的数是基于gingerbread源码的,应该也是可以更改其他android分支,具体可参考:https://android.googlesource.com/platform/manifest)
repo sync

备注:repo sync过程中可能会有一些问题,多试几次就可以了。另外书上说android源码是2G左右,但是下载下来的是17.多G,很奇怪。

关联android中的项目

 1)显示mac系统隐藏文件:

显示系统文件使用命令行:defaults write com.apple.finder AppleShowAllFiles -bool YES

Finder需要重启命令才能生效,在终端中接着输入
killall Finder
恢复隐藏系统文件,终端中输入以下代码并回车
defaults write com.apple.finder AppleShowAllFiles -bool NO
需要重启Finder
killall Finder
2)显示系统文件后,拷贝 /Volumes/android/WorkingSpace/development/ide/eclipse/.classpath文件到android源码下载目录。(也就是刚才WorkingSpace目录下)
具体如下:

3)创建java项目Android_Source_Java,路径指向android源码的目录下,eclipse会自动编译源码。这样就可以浏览源码和调试源码了。
在android的项目中点击查看Activity,无法查看源码,提示如下:
点击:Attach Source 按钮,并把worke**指向上面创建的android_项目就可以在android项目中查看源码了,具体调试方式准备学习中。效果如下:
后记:第一次自己整理比较完整的东西,以博客的形式展现出来,耗时近两个小时。
真心佩服那些坚持写博客的人们。真心感觉,技术的深入没有高人指点,难度相当大,幸亏可以看书,可以google+baidu,偶尔参加一下行业相关的技术沙龙请教问题。
以上内容大部分来自互联网,以及部分个人实践以及看书的总结。

图片都丢失了,由于长时间停留在一个页面,可能导致页面和csdn服务器失去连接,结果中间无法提交文章,全部复制了一下,然后刷新后粘贴发表文章,结果图片都丢了。CSDN自动保存功能貌似没有保存图片。真不靠谱呀。问题是图片本地没备份。就这样吧,人生不如意十有八九。

参考文章:http://source.android.com/source/building.html

http://php.webtutor.pl/en/2011/09/05/kernel-org-hacked-how-to-get-android-repo/

http://blog.csdn.net/ym19860303/article/details/7735010

mac 系统下android源码下载以及使用(总结)相关推荐

  1. WSL Ubuntu 20.04下Android源码下载

    1. 开启WSL 右键开始菜单,打开任务管理器,选择性能选项卡,查看 CPU 虚拟化是否开启,如果没有开启,需要在 BIOS 中开启. 在 Windows 设置中搜索并打开"启用或关闭 Wi ...

  2. Windows下Android源码下载

    前言 每一年这个看源码的花样都在变,我记得前两年我下源码的时候还没这么多事,现在看个源码还得整整python了. 本文基于文末的博客学习而来,环境win10,侧重点在于此过程中python爬的坑. 如 ...

  3. WSL Ubuntu 20.04下Android源码编译与导入Android Studio

    源码下载见前文:WSL Ubuntu 20.04下Android源码下载 idegen 模块编译 在development/tools/idegen/README下可以看到关于 idegen 工具的相 ...

  4. 【Android】Android源码下载

    学而不思则罔,思而不学则殆 [Android]Android源码下载 一.环境准备 虚拟机 Ubuntu系统 二.Android源码下载 Ubuntu下载 1.repo下载 2.修改源代码镜像地址 3 ...

  5. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  6. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

  7. android源码下载方法 批量下载 基于windows os

    安装win版的Gitbash, 在这里 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe. 选择默认安装路径(否则 ...

  8. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  9. Android源码下载教程

    文章目录 导语 国内源码资料 一.环境准备 1. Linux环境 2. JDK环境 3. 安装GIT工具 4. 安装依赖 二.安装Repo工具 三.初始化仓库 1. 创建文件夹 2. 初始化Repo ...

最新文章

  1. dokuwiki 部署笔记
  2. teamlab与redmine试用对比报告
  3. 嵌入式Linux系统编程学习之五gcc/g++编译器
  4. 一年之后 重温旧“梦”
  5. 模拟ARP报文发送,通过改变拓扑结构,观察报文发送方法以及途径
  6. 期末作业代码网页设计代码——花店购物网站源码(27页) 学生动花店购物页设计模板下载 植物大学生HTML网页制作作品 简单网页设计成品 dreamweaver学生网站模板
  7. SI24R1切换收发模式问题调试与解决
  8. latex ctex 中文目录在pdf阅读器的“书签”选项卡中显示乱码的解决方法
  9. 菜鸟教程python3 mysql_MySQL菜鸟教程
  10. 鸿蒙系统用的什么代码,鸿蒙系统是用什么语言开发的?
  11. JS实现合并单元格的两种方法
  12. OrCAD学习笔记1
  13. 中国医用显示器械市场现状调查与投资前景预测报告2022-2028年
  14. Spark的spark-*和blockmgr-*目录里是什东西,怎么来的
  15. 深入理解HTML表格秘籍
  16. 修改服务器3389 端口号,修改服务器3389端口为其它端口
  17. 考试用计算机反思800字,考试后的反思
  18. C++协程(二):Understanding operator co_await
  19. PTA:7-10 深入虎穴 (25 分)
  20. 【论文分享】基于微信小程序的快递取寄系统设计与实现

热门文章

  1. php pdo连接oracle乱码,php pdo oracle中文乱码的快速解决方法_PHP
  2. 写一个matlab 滤波函数
  3. 时域频域的四种傅里叶变换
  4. 高低温对Nand Flash原始误码率(RBER)及Operation time的影响
  5. WIN10电脑手动抓蓝屏dump
  6. mac 全角/半角标点符号切换
  7. chromium OS编译过程
  8. Android 混淆机制详解
  9. java 切图_java用pdfbox切图并重绘宽高
  10. PS2060L-ASEMI肖特基二极管PS2060L