如何获取android源代码
研究Android的内部机理,源代码是必不可少的。大多数blog都推荐使用google提供的repo工具来获取Android源码,不过尝试多次 后未能完成。repo过程中问题多多: 权限问题,git server主动断开连接,以及偶尔还有G_F_W 干扰......
当前的Android 代码托管在两个地方: https://github.com/android 和 https://android.googlesource.com 之前在 android.git.kernel.org 上也有托管,不过现在重定向到了 https://android.googlesource.com 好在都支持git访问。
google 提供的 repo 工具实际上是一个内部操作git工具来简化操作Android源码的Python脚本。经过尝试,直接使用git 工具在ubuntu 下可以实现clone Android 源码。下面介绍一下方法:
1. 获取当前的在github 上托管的Android git repositories :
github页面为: https://github.com/android/following 。不过这个页面不支持通过 wget "https://github.com/android/following " 或者 curl " https://github.com/android/following " 的方式访问, 错误信息如下:
这样一来,获取这个页面内容并解析出其中的 git repositories就需要手工完成了。好在方法也很简单: 浏览器中打开这个页面,然后"查看源文件"并保存为文本文件,比如保存为"android_git.html"。最后,通过下面的一行脚本来取出 Android git repositories.
grep
-o
"<span class=\"repo\">.*</span>"
./android_git.html | cut -d
">"
-f2 | cut -d
"<"
-f1 > android_git.txt
|
2. 基于第1步获取的Android git repositories 来生成clone git的脚本 :
执行如下的一行awk脚本
awk
'BEGIN{i=1; print "#!/usr/bin/env bash" }{ print "\n\necho \"begin clone android git ["i"]: " $1 "\""; print "git clone http://github.com/
" $1 ".git"; print "echo \"finish clone android git ["i"]: " $1 "\"" ; i=i+1; }'
./android_git.txt > git_clone_android.sh
|
现在用于clone android git的脚本生成好了,一共有 103 个 git repository.
3. 执行git_clone_android.sh这个脚本即可 。
整体Android 源码的代码量是相当庞大,完成所有的clone 任务后,大概占用了 7G 磁盘空间,历时20多个小时,这是在网速比较快的情况下达到的效果:
其间也有许多问题,比如多次出现如下的错误:
这个时候需能做的只能是"try again"了。
需要说明的是"不要试图同时并发执行多个git clone 命令",这样会导致大量出现上面贴图中的错误, 另外,整个clone过程中耗时最多的git repository 如下:
kernel_common.git kernel_msm.git platform_frameworks_base.git platform_prebuilt.git 其中 platform_prebuilt.git 是google 提供的预编译好的二进制文件,包含: 各种库文件,jar 包,可执行程序等等,如果只是阅读Android 源代码,这个git repository 可以不用clone.
相关推荐
如何获取android源码及如何在eclipse中查看源码
获取Android源代码并建立本地版本库镜像,方便地在本地获取不同分支.
linux 或cygwin,前提是需要装git, 直接运行该脚本就行 ./GetAndroidSourceCode
Android应用源码45套安卓源码合集: android中文离线发音引擎FOCTTS使用源码.rar Android应用源码(精)LBS...Android应用源码获取手机信息.rar Android应用源码讯飞语音测试源码.rar Android应用源码飞碟说欢迎界面.rar
Android源码地图 ——Android源代码结构分析 第一研究所 张长青
安卓Android源码——获取通讯录程序源码.zip
《Android 源码设计模式解析与实战》不仅分析了Android源代码的设计模式,更结合实例演示了如何使用这些设计模式。看这本书,既能学到如何分析、学习Android源代码,又能提高自己架构设计水平 《Android 源码设计...
Android使用WebView获取网页的源码,将WebView封装进ArthurWebView,直接创建并初始化即可使用!
获取Android系统程序信息 源代码
Android期末大作业模仿有道词典项目源代码。。Android期末大作业模仿有道词典项目源代码。。Android期末大作业模仿有道词典项目源代码。。Android期末大作业模仿有道词典项目源代码。。Android期末大作业模仿有道...
Android源码——闹钟源代码.zip
android获取通讯录源码
Android实例源码-音乐播放器类安卓源代码(9例) Android多线程断点续传下载+在线播放音乐 GL音乐播放器 基于SDL、FFmpeg的android播放器源码 简单实用的音乐播放器 简单音乐播放器,实现了播放器基本功能,使用...
Android实例源码-小游戏类安卓源代码(7例) 安卓冒险游戏源码可直接运行类似于精灵快跑这种可做毕业设计 安卓飞机游戏 完美版的Android 拼图游戏APK和工程源码 猜拳游戏 用的libgdx引擎写的ACE 弹幕射击游戏设计与...
MTK6577 Android源代码目录
android 获取Gps信息的程序源码.rar Android 高德地图图层效果源码.rar Android中英文电子词典源码(so easy).rar android仿开心网源代码.rar android及时通讯源码:实时对讲机.rar android在线订餐项目源码.rar ...
安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业Android天气预报app源码安卓期末大作业...
Android系统源代码情景分析-源码
Android系统源码情景分析pdf 1.源码驱动开发技巧 2.Android 源码查看技巧 3.Android高级技术学习