【发布时间】:2013-05-12 07:59:33
【问题描述】:
对于我们的 Android 应用,我们希望嵌入我们自己的浏览器/渲染引擎。最有可能的候选人是Webkit/Chromium。 我们正在寻找类似于WebView 的东西,本质上是由我们控制的浏览器(版本)支持的。
背景
我们应用的重要部分包括嵌入在视图中的网页片段(由应用本身提供)。我们尝试尽可能透明地做到这一点(从视觉/用户体验的角度来看)。到目前为止,我们一直在为此使用WebView,并且大部分情况下都有效。除非它没有。
不幸的是,一些手机供应商决定在这里和那里调整标准的 Android 浏览器。在某些情况下,这会破坏我们的应用程序或使我们嵌入网页的事实更加引人注目。
我们的想法
我们希望有一个类似于WebView 的组件,但我们可以控制使用哪个版本的 Webkit/Chromium(或其他渲染引擎)。它不一定是最新最好的版本。更重要的是,我们可以让我们的应用在尽可能多的 Android 设备上一致运行。
到目前为止
到目前为止,我们的研究还没有发现任何有用的东西。我们发现了 3 次将 Webkit 移植到 NDK 的无效尝试(用于 Android 的裸 Webkit 移植使用 NDK 中不可用的功能,因此不适用于应用程序开发人员):
- Webkit Android port by Company 100(两年多没有更新)
- mogo-browser(他们最后的修改是删除所有源代码)
- NDK Webkit(作者正式放弃)
查看StackOverflow,我们也发现了很多类似的问题,大部分都是通过指向WebView来解决的(我们已经这样做了,还不够好)
- Webkit component for Android
- Embed basic WebKit + V8 in my app
- Embedding a newer version of WebKit with Android app
我们目前正在研究是否可以将Chromium for Android(或其中的一部分)转换为我们的应用可以使用的库。有其他人这样做过吗?
更新
在查看了 GitHub 上的 chromeview 项目(已接受答案)之后,我们决定我们宁愿等待 Google 在未来的 Android 设备上发布基于 Chrome 的 WebView。 Chromium 渲染引擎相当大(~40MB),并没有为实际应用留下太多空间:(
【问题讨论】:
-
你决定如何前进了吗?您能否提供有关您的进度或尝试的任何更新?
-
这篇文章一年后,我们正在尝试类似的方法。 @Christian 你有任何更新或提示要分享。我们一直在使用 WebView 撞墙太久了。谢谢
-
@Bach:我们最终放弃了这种方法。主要是因为目标设备越来越多地融合到具有合理嵌入式浏览器版本的集合中。此外,Android 现在提供自己的基于 Chromium 的 WebView:developer.android.com/guide/webapps/migrating.html 我们只是忍受限制或开发原生应用程序。
标签: android webkit android-ndk chromium