Google Chrome android 应用程序的源代码? [关闭]

2024-05-01

我想构建一个与 Google Chrome 的 Android 版本相似的 UI。如何自己构建 Android 版本的 Google chrome?


我对深入研究的建议是查看源代码http://code.google.com/p/chromiumembedded/ http://code.google.com/p/chromiumembedded/.

它是 Chrome 的精简版本,如果你查看它具体使用的文件,要么包含在其源代码树中,要么包含来自 Chromium 存储库的文件。 Chromium 代码库包含大量内容,其中大部分实际上并不在浏览器中。有大量从第三方存储库中提取的代码,然后在构建过程中进行归结,或者 Chromium 的实现位于树中的其他位置,有很多副项目(虽然很有趣,并且是广泛的很棒的资源)东西)将阻止您实现专门磨练浏览器实现及其如何组合在一起的目标。

CEF 很棒,因为您可以看到有人已经完成了将所有这些内容整合在一起以构建一个非常专门针对浏览器视图的项目的过程,而没有其他任何事情。您可以轻松地看到哪些部分主要源自 webkit,您可以看到与 Google 的实现交叉的地方,并且您可以很容易地看到 V8 是如何融入其中的。

我确实是相对而言说“容易”,因为我们仍然在讨论大量的代码。 CEF 会将您置于需求的中心,但是这些东西仍然从树的其余部分中引入大量各种东西。在一台拥有 12 GB 内存和 8 个内核的非常好的计算机上编译它大约需要一个小时,生成的文件大约需要 6-10 GB,具体取决于情况。

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

编辑:哦,也是你的具体例子。

src 是根目录http://src.chromium.org/viewvc/chrome/trunk/src http://src.chromium.org/viewvc/chrome/trunk/src

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

“chrome”树主要包含直接实现(虽然很多东西不在那里,甚至大部分,但这是起点)。这与 chromeos 重叠(chromeos 是一种极端的 chromium 浏览器)

/chrome/浏览器http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/

让您接近您想去的地方。您开始看到对可以与浏览器匹配的事物的具体引用,例如选项卡和诸如此类的东西(忽略实际浏览器实现本身的巨大大象,这占据了所有这些东西的大部分思维空间)

/chrome/浏览器/uihttp://src.chromium.org/viewvc/chrome/trunk/src/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/ http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/omnibox/

其中的代码量惊人地少。但这就是你发现的很多东西。这里的代码是在其他地方构建的许多类的实现。对于非 webview gui 组件,您会发现它们主要指向根“ui”和本地小部件,如果我没记错的话,这就是大部分实际事件处理代码所在的位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Chrome android 应用程序的源代码? [关闭] 的相关文章

  • 如何从一个活动中完成一系列开放的子活动?

    我正在尝试为我的应用程序制作一个退出按钮 无论如何 我能够跟踪我的应用程序中的所有活动实例 然后完成它们 但在某些情况下 仍有一些活动仍然存在 不知道怎么办 有没有什么方法可以杀死android中的特定应用程序 或者我可以通过任何其他方式退
  • 编译后从字节代码中删除注释

    我们正在使用一个包含使用 JAXB 注释进行注释的 bean 的库 我们使用这些类的方式完全不依赖于 JAXB 换句话说 我们不需要 JAXB 也不依赖注释 但是 由于注释存在 它们最终会被处理注释的其他类引用 这要求我将 JAXB 捆绑到
  • Android ListView 自定义适配器 ImageButton

    这可能不是正确的方法 如果有更好的方法请告诉我 我创建了一个自定义适配器类 在我的 getView 方法中我膨胀了我想要使用的视图 public View getView int position View convertView View
  • 如何在 Android 应用程序中单击按钮时打开 Gmail Compose?

    当我的 Android 应用程序中单击按钮时 我尝试打开 Gmail 撰写屏幕 我需要 Google 提供的 API 密钥吗 或者我需要在按钮 onClickListener 中做什么 任何形式的见解都非常值得赞赏 正如 JeffC 指出的
  • Android CursorAdapter、ListView 和后台线程

    我一直在开发的这个应用程序有包含数兆字节数据的数据库可供筛选 许多活动只是列表视图 通过数据库中的各个级别的数据下降 直到到达 文档 即从数据库中提取并显示在手机上的 HTML 我遇到的问题是 其中一些活动需要能够通过捕获击键并重新运行带有
  • Android 中有没有办法获取 SD 卡大小?

    欢迎大家 我已经在 Stackoverflow 和 google 上尝试过与此相关的每个问题 但没有一个有效 我已经尝试过类似下一个链接的操作 但它返回的内容与内部存储相同 如何获取外部存储 SD 卡的大小 带安装的 SD 卡 https
  • Android 8.1 中 Activity 自行旋转并恢复正常

    我的应用程序在所有 Android 版本上运行良好 但我注意到在 Android 8 1 0 Oreo 中 当我将屏幕从纵向活动转到横向活动时 以及当我按后退按钮时 它会显示异常行为 屏幕自动从横向旋转并恢复正常 看起来 Activity
  • Android 谷歌地图 V2 已停止

    我正在尝试构建地图应用程序并关注这个链接 https blog emildesign rhcloud com p 435一步步 我在这里找到了类似的主题 但对我没有帮助 我想显示地图 但是当我运行它时 它返回强制关闭和我的 Android
  • 使用 mupdf android 库导航到特定页面

    我如何使用 muPDF 库导航到特定页面 或者有没有办法让图书馆不记得我最后在那个pdf文件中浏览的是哪一页 Uri uri Uri parse path Intent intent new Intent MainActivity getC
  • 如何知道用户是否在 Android 应用程序中输入了错误的密码(锁定屏幕)

    我正在开发一个 Android 应用程序 如果用户在 Android 锁定屏幕中输入错误的密码 则必须完成其中一项活动 例如 如果用户输入错误的密码 则会发送电子邮件 我将不胜感激任何帮助 提前致谢 Kshitij 锁屏在完全沙箱环境中运行
  • 截图显示黑色

    我正在拍摄快照并创建缩略图 然后共享此图像 但缩略图显示全黑 我使用了以下代码 Bitmap bitmap View v1 v getRootView v1 setDrawingCacheEnabled true bitmap Bitmap
  • 有没有办法在多个嵌套的 RecyclerView 之间共享同一个 LayoutManager

    我正在开发一个显示游戏列表的应用程序 在每个游戏的 itemView 内 我还有一个要显示的视频列表 预览和结构如下 我部署了一个RecyclerView作为窗口根视图 然后对于视频 我使用网格样式的RecyclerView来显示 所以这里
  • 在 android 版本 7.0 上膨胀类 android.widget.DatePicker 时出错

    我想显示弹出日期选择器并且我使用此代码 Calendar mcurrentDate Calendar getInstance int mYear mcurrentDate get Calendar YEAR int mMonth mcurr
  • 在 android 中,第一次单击时按钮侦听器未注册

    因为我是 Android 新手 所以我遇到了按钮监听器的问题 我正在使用 OnClickListener 来处理胸像 但它第一次点击后不执行一旦我单击多个 它就会表现良好 但如何使其在第一次单击时成为可能 这是我的代码 public cla
  • 如何在 kotlin 中检查 lambda 空值

    在 Kotlin 中如何检查 lambda 是否为空 例如 我有这样的签名 onError Throwable gt Unit 我如何区分它的默认值是应用于主体还是应用于此函数的值 您无法测试 lambda 的主体是否为空 因此它不包含源代
  • 从Android客户端登录appengine

    我正在尝试登录应用程序引擎并访问应用程序引擎中的用户服务API 基本上我希望能够看到谁登录了我的 servlet 我正在使用从 android 获取 authtoken 然后从应用程序引擎获取 ASID 或 SACID cookie 的身份
  • 将 Crashlytics 集成到图书馆项目

    我有一个图书馆项目 自定义视图库项目 它没有任何活动 服务 我想将 Crashlytics SDK 集成到我的库中 当我尝试通过 Android Studio 的 Crashlytics 插件 工具栏中的图标 添加它时 它只是停留在 Che
  • 如何从灰度字节缓冲区图像创建位图?

    我正在尝试使用新的 Android 人脸检测移动视觉 API 来处理帧图像 所以我创建了自定义检测器来获取帧并尝试调用 getBitmap 方法 但它为空 所以我访问了帧的灰度数据 有没有办法从它或类似的图像持有者类创建位图 public
  • 在android中使用BaseActivity的不同活动中的通用标头

    我想编写一次代码并在不同的活动中使用 我创建了一个Base Activity class为了那个原因 此外 不同活动中所有布局的标题都是相同的 我在以下人员的帮助下做到了这一点
  • 查询联系人 - 有时返回空游标

    我正在尝试查询联系人的显示名称 Override public void onActivityResult int requestCode int resultCode Intent data switch requestCode case

随机推荐