谷歌Chrome安卓应用的源代码?

use*_*376 12 android google-chrome android-layout

我想构建一个与Google Chrome的Android版本有相似之处的用户界面.我怎样才能自己构建谷歌浏览器的Android版本?

COD*_*rrr 8

我对潜水的建议是查看http://code.google.com/p/chromiumembedded/的来源.

它是Chrome的精简版本,如果您查看它专门使用的文件,可以是源代码树中包含的文件,也可以是Chromium repo中包含的文件.Chromium代码库是一个庞大的东西,其中大部分实际上并不在浏览器中.从第三方回购中获取了大量代码,然后在构建过程中将其归结为或者Chromium的实现位于树中的其他位置,有很多副项目(虽然有趣且广泛的资源范围很广泛)这些东西会阻止你实现你在浏览器实现上特别磨练的目标以及它们如何组合在一起.

CEF很棒,因为你可以看到一个人已经完成了将所有这些东西组合在一起构建一个非常专门用于浏览器视图的项目的过程.您可以轻松地看到哪些部分主要来自webkit,您可以看到Google的实现中交叉的位置,您可以很容易地看到V8如何被混合到一起.

我相对而言说"容易",因为我们仍然在谈论大量的代码.CEF会让你处于要求的中心位置,但这些东西仍然会从树的其他部分吸收大量的各种东西.编译它需要一个小时在一台非常好的计算机上,有12个ram和8个内核,生成的文件占用了6-10 gigs.

至少,不会有任何类型的快速跳入浅层来挑选这里或那里零碎的东西.浏览器必然是非常复杂的工程,因为它们必须包含如此大量的单独功能,然后将它们组合成一个共享的上下文.您可能会发现您正在寻找的一件事,但您会发现它是类库的一部分,可能由数十个或数百个文件组成,而这些文件又依赖于这些库中的一百多个来处理每个任务所以要真正拿走一些东西,你必须花时间去接受比任何给定信息更多的东西.

编辑:哦也作为你的具体例子.

src是root http://src.chromium.org/viewvc/chrome/trunk/src

/ chrome http://src.chromium.org/viewvc/chrome/trunk/src/chrome

"chrome"树在很大程度上包含了直接的实现(虽然很多东西都没有,但大部分内容都是,但这是起点).这与chromeos重叠(chromeos是一种疯狂极端的铬浏览器)

/ chrome/browser http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/

让你接近你想要的地方.你开始看到你可以与浏览器匹配的东西的具体引用,比如标签和诸如此类的东西(忽略了实际浏览器实现本身的巨大大象,它占据了所有这些东西的大部分思维空间)

/ chrome/browser/ui http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/

带您进入浏览器的大部分ui代码.当有交叉或者东西迁移时,它可能会让人感到困惑,比如在根src目录中有一个"ui",它有一些交叉.

最后http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/omnibox/

其中包含少量代码.但这是你发现的很多东西.这里的代码是在其他地方构建的许多类的实现.对于非webview gui组件,你会发现它们主要指向根"ui"以及那里的本机小部件,如果我没记错的话,这是大部分实际事件处理代码的地方.


cod*_*key 5

请阅读 chrome常见问题解答

Android 版 Chrome 是开源的吗?

Android 版 Chrome 源自 Chromium。自第一个版本推出以来,我们稳步开源了所有关键组件。您可以按照此处的说明构建 Android 版 Chrome 中使用的各种 Chromium 组件。