`

如何获取android源代码

阅读更多

如何获取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源代码,还能在Eclipse环境中有效地利用这些源代码进行学习和开发。这不仅可以提高开发效率,还能加深对Android系统架构的理解。对于想要深入研究Android开发的...

    android 源代码获取(windows7)

    本教程将详述在Windows 7环境下获取Android源代码的步骤,帮助你节省宝贵的时间。 首先,你需要安装一些必备的工具。在这个压缩包中,包含了一个名为"python-3.3.0.msi"的文件,这是Python 3.3.0的安装程序。Python...

    编译Android源码全过程

    在开始编译Android源码之前,首先需要确保获取完整的Android源代码。这一部分将详细介绍如何使用Git和Repo脚本完成这一任务。 ##### Git简介 Git是一种分布式版本控制系统,由Linux之父Linus Torvalds开发,旨在更...

    获取android源代码的脚本

    linux 或cygwin,前提是需要装git, 直接运行该脚本就行 ./GetAndroidSourceCode

    Android应用源码45套安卓源码合集.zip

    Android应用源码45套安卓源码合集: android中文离线发音引擎FOCTTS使用源码.rar Android应用源码(精)LBS...Android应用源码获取手机信息.rar Android应用源码讯飞语音测试源码.rar Android应用源码飞碟说欢迎界面.rar

    【优亿Android特刊】第二十二期:Android源码修改

    获取Android源代码及搭建开发环境** 获取Android源码可以通过以下步骤: - 安装Git:首先需要安装Git版本控制系统。 - 初始化Repo工具:使用`curl ...

    安卓Android源码——系统源码获取及编译.zip

    这份名为“安卓Android源码——系统源码获取及编译”的压缩包文件,显然提供了关于如何获取和编译Android系统源码的教程。接下来,我们将详细探讨这个主题。 首先,获取Android源码主要涉及Git工具的使用。Android...

    Android源码地图 ——Android源代码结构分析

    本文将对Android源代码的结构进行分析,帮助大家更好地理解和掌握Android系统。 首先,Android系统的源代码结构可以分为以下几个主要部分: 一、系统体系结构 Android系统体系结构是一种分层结构,包括应用层、...

    android-15源代码

    "android-15源代码"是Android SDK的一个重要组成部分,它提供了Android 4.0.4(API级别15)的原始源码,为开发者提供了宝贵的参考资料。本文将对这个源代码进行深入的剖析,帮助读者理解Android系统的基石。 一、...

    Git和Repo扫盲——如何取得Android源代码 - William Hua的Blog

    本文将围绕“Git和Repo扫盲——如何取得Android源代码”这一主题,深入探讨这两个工具以及如何利用它们获取Android的源代码。 Git是一款分布式版本控制系统,由Linus Torvalds为Linux内核开发而创建。它允许开发者...

    长青说android系列-android源代码结构分析

    首先,获取Android源代码是学习过程的第一步。Android源代码主要存储在Git仓库中,通过使用`repo`工具,开发者可以方便地克隆和管理整个Android开源项目(AOSP)。在Ubuntu操作系统上,需要先安装必要的依赖,如Git...

    Android WebView获取源码

    通过这个封装,我们可以更方便地在Android应用中获取网页源码,同时也提高了代码的可复用性和可维护性。记住,在实际应用中,一定要注意JavaScript安全问题,避免被恶意代码利用`addJavascriptInterface`注入漏洞。

    Android应用源码30套安卓源码合集.zip

    android 获取Gps信息的程序源码.rar Android 高德地图图层效果源码.rar Android中英文电子词典源码(so easy).rar android仿开心网源代码.rar android及时通讯源码:实时对讲机.rar android在线订餐项目源码.rar ...

    eclipse查看Android源代码

    总的来说,要在Eclipse中查看Android源代码,你需要正确的源码环境、Eclipse的SDK配置,以及一个指向源码的Android项目。通过这种方式,开发者不仅可以学习Android系统的内部工作原理,还能方便地进行调试和问题定位...

    安卓Android源码——获取通讯录程序源码.zip

    安卓Android源码——获取通讯录程序源码.zip

    Android 源码编译过程

    Android源码编译过程是Android开发中的核心环节,它涉及到一系列复杂的步骤,旨在将源代码...在Android源代码编译过程.txt文件中,应该记录了编译过程中的具体步骤和可能遇到的问题,是学习和解决问题的重要参考资料。

    Android源码设计模式解析与实战.pdf

    《Android 源码设计模式解析与实战》不仅分析了Android源代码的设计模式,更结合实例演示了如何使用这些设计模式。看这本书,既能学到如何分析、学习Android源代码,又能提高自己架构设计水平 《Android 源码设计...

    Android应用源码-Android安卓设计实例源代码15个合集.zip

    这个"Android应用源码-Android安卓设计实例源代码15个合集"提供了一次绝佳的学习机会,它包含了一系列真实的Android应用程序源代码实例,旨在帮助开发者理解Android应用的设计与实现原理。下面,我们将深入探讨这些...

    Android源码——闹钟源代码.zip

    这个"Android源码——闹钟源代码.zip"文件可能包含了Android系统闹钟应用(DeskClock)的源代码,以及相关的图片资源。通过对这些源代码的学习和分析,我们可以深入了解Android系统如何实现闹钟功能。 首先,`...

Global site tag (gtag.js) - Google Analytics