在哪里可以在线找到Android源代码?

662

我在哪里可以浏览任何Android开源项目(AOSP)应用程序的源代码(例如Contacts应用程序)?是克隆整个AOSP源代码库的唯一方式吗?


5
您可以使用这个 Eclipse 插件来查看 Android 源代码:http://www.androidpolice.com/2011/12/22/gold-for-android-developers-add-aosp-source-code-to-eclipse-with-the-android-sources-plugin/。 - Kalimah
22
我无法在Google代码搜索中找到Android API源代码了。也许这个链接有帮助:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/。 - xtr
@xtr,那正是我最近发现并使用的。他们关闭了Google Code Search,但在该链接中提供了一些其他资源的链接。 - hotshot309
所有Android版本的源代码都在这里:https://android.googlesource.com/platform/packages/apps/Contacts.git/+/kitkat-release - zyamys
你可以访问http://androidxref.com/并搜索任何你想要的内容。 - Luander
显示剩余2条评论
7个回答

335

所有内容都在 omapzoom.org 上备有镜像。部分代码也会被 镜像到 github 上

例如,这里有通讯录的代码

自2019年12月起,您可以使用新的官方公共代码搜索工具 AOSP: cs.android.com。还有一个Android 官方源代码浏览器(基于Gitiles),其中包含 Android 的许多不同部分的网页视图。一些项目(例如内核)已被删除,现在只会指向可克隆的 Git 存储库。

要获取所有代码,请使用 repo 帮助程序,或者仅克隆各个存储库。

其他资源:


3
似乎现在无法获取了。 - Eduardo
20
看起来他们彻底关闭了 android.git.kernel.org。现在它将重定向到 developer.android.com 页面,告诉你如何下载源代码,其中涉及到 android.googlesource.com,但似乎该网站没有提供在线浏览,只能下载。GitHub 镜像仍然存在,但似乎没有更新。 - Jan Hudec
4
截至2011年12月10日,GitHub的镜像似乎是实时更新的。我可以看到几个小时前提交的内容。 - HRJ
1
如何让我从这些代码库中获取的代码运行起来?我尝试导入它们,但发现了很多编译错误(超过1000个)... - android developer
5
现在有一个名为 https://cs.android.com 的网站。 - tgeng
显示剩余7条评论

68

44

前几天我偶然发现了Android XRef,觉得它很有用,特别是因为它由OpenGrok支持,提供了疯狂强大和惊人快速的搜索功能。


似乎缺少一些文件。例如,Android 4.3 CDD 在第34页明确指出了 /data/misc/sms/codes.xml。在此路径下搜索结果未找到,仅返回接近命中的搜索结果。 - jww
@noloader: 我认为这个文件应该放在特定的设备实现上,但是在AOSP中并不存在。当此类文件被放置在设备上时,可以查看此处激活的AOSP代码:http://androidxref.com/4.3_r2.1/xref/frameworks/base/services/java/com/android/server/updates/SmsShortCodesInstallReceiver.java - scorpiodawg
是的,它非常快,但我在源代码中没有看到内核文件夹。有什么原因吗? - Sandeep
不确定是谁的想法将这个好问题关闭为离题。Android XRef似乎已经不再更新,现在你可以在http://aosp.opersys.com/上获得相同甚至更好的内容。 - k_o_
回答这个问题,2023年的Android 14代码库可以参考http://aospxref.com/,因为Android xref只有旧的基线。 - undefined

6
我找到了一种仅获取通讯录应用程序的方法:
git clone https://android.googlesource.com/platform/packages/apps/Contacts

对我来说现在已经足够好了,但它并没有回答在网页上浏览代码的问题。


确实可以通过从当前活动的URL中拉取其git存储库来获取单独的软件包。然而,这主要用于学习 - 即使看起来像应该是基于SDK的普通应用程序,通常也有其他依赖项在AOSP中,因此不会通过SDK构建,而只能在更完整的AOSP检出的更大构建的上下文中构建。 - Chris Stratton

1

1

0

gitweb 可以让你通过浏览器浏览代码(和更改)。

http://git.or.cz/gitwiki/Gitweb

不知道是否已经有人为Android设置了公共gitweb,但这可能并不太难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接