不用Ubuntu,自己动手下载Android源码
2016-03-03 17:15
459 查看
最近在学习Android,便想到有必要把Android源码Down下来以便哪天自己研究研究。
网上搜了很久很多都是Ubuntu下的repo方法,对于我09年的老爷机来说,双系统不太现实,纯Ubuntu/Fedora有影响日常用。所以决定参照网络大神先例自己动手下载Android。
准备:
1.访问下:Android源码的Git库:https://android.googlesource.com/,如果访问都访问不了的话就不用谈下载了
2.硬盘空间:60G(仅下载)
工具:
Git 最新版本: http://git-scm.com/download/
Python_v2.7:https://www.python.org/downloads/
注意:Python 3.x和2.x差别巨大,建议用2.x版本
安装工具:
一路默认安装即可。
比如: Git装在C:盘,源码等文件都放在E:盘
开始:
1. 获取manifest文件:
网上搜了很久很多都是Ubuntu下的repo方法,对于我09年的老爷机来说,双系统不太现实,纯Ubuntu/Fedora有影响日常用。所以决定参照网络大神先例自己动手下载Android。
准备:
1.访问下:Android源码的Git库:https://android.googlesource.com/,如果访问都访问不了的话就不用谈下载了
2.硬盘空间:60G(仅下载)
工具:
Git 最新版本: http://git-scm.com/download/
Python_v2.7:https://www.python.org/downloads/
注意:Python 3.x和2.x差别巨大,建议用2.x版本
安装工具:
一路默认安装即可。
比如: Git装在C:盘,源码等文件都放在E:盘
开始:
1. 获取manifest文件:
//进入源码存放目录 cd E:
//Clone下manifest git clone https://android.googlesource.com/platform/manifest.git[/code]
这一步后,E:盘生成manifest文件夹,内含default.xml,大小约50k
2. 选择要下载的源码版本//进入manifest文件夹 cd manifest//查看现有的所有系统版本 git tag//选择要下载的源码版本,比如需要下载5.1.1 git checkout android-5.1.1_r34
3.Clone选定版本的源码
进入Android源码的Git库:https://android.googlesource.com/,列出的每一项都是一个单独的Git子库,所有字库合起来就是Android的完整源码。
当然,可以一个子库一个子库的clone,但是相当麻烦,所以要借助Python脚本实现批量操作。
Python脚本:import xml.dom.minidom import os from subprocess import call #downloaded source path rootdir = "E:/Android" #Git路径根据自己情况修改 git = "C:/Program Files/Git/bin/git.exe" #default.xml文件路径根据自己情况修改 dom = xml.dom.minidom.parse("E:/manifest/default.xml") root = dom.documentElement prefix = git + " clone https://android.googlesource.com/" suffix = ".git" if not os.path.exists(rootdir): os.mkdir(rootdir) for node in root.getElementsByTagName("project"): os.chdir(rootdir) d = node.getAttribute("path") last = d.rfind("/") if last != -1: d = rootdir + "/" + d[:last] if not os.path.exists(d): os.makedirs(d) os.chdir(d) cmd = prefix + node.getAttribute("name") + suffix call(cmd)
把上面的Python代码写入py文件,运行之后开始下载,时间长短就要看网速了。
这样,Android源码就Down下来了。
相关文章推荐
- Android PowerImageView实现,可以播放动画的强大ImageView
- Android横竖屏切换小结
- Android Studio 小知识--添加快捷输入方式
- android极光杀掉程序收不到通知
- Android中给Button加上selector——点击按钮后变成不一样的图片
- Android Studio配置SVN
- Android客户端与服务器之间传递json数据
- Android4笔记之定制To-Do List
- Android性能优化——之防止内存泄露
- Android 滑动冲突的解决方法
- AndroidDesignSupportLibrary 之 TabLayout
- Android下的仿iOS搜索 - SearchBar
- android中spinner应用
- 发布Android临时包注意的问题
- android button 圆角与点击效果
- 【Android进阶】Android仿淘宝商品浏览滑(拖)动查看详情界面
- Android ImageView 的 scaleType属性详解(二)
- Android 常用控件
- Android dex分包方案
- 使用Android studio分析内存泄露