Android应用中的嵌入式Chromium或Webkit

问题描述 投票:48回答:6

对于我们的Android应用程序,我们希望嵌入自己的浏览器/渲染引擎。最有可能的候选人是Webkit / Chromium。我们正在寻找类似于WebView的东西,基本上,但我们控制的浏览器(版本)支持。

Background

我们的应用程序的重要部分包含嵌入在视图中的网页片段(由应用程序本身提供)。我们尽可能透明地尝试(从视觉/用户体验的角度来看)。到目前为止,我们一直在使用WebView,这在很大程度上是有效的。除非它没有。

不幸的是,一些手机厂商决定在这里和那里调整标准的Android浏览器。在某些情况下,这会破坏我们的应用程序,或者使我们嵌入网页更加引人注目。

Our Idea

我们希望有一个类似于WebView的组件,但我们控制使用的是什么版本的Webkit / Chromium(或其他一些渲染引擎)。它不一定是最新最好的版本。更重要的是,我们可以让我们的应用程序在尽可能多的Android设备上保持一致。

至今

到目前为止,我们的研究没有发现任何有用的东西我们发现三次尝试将Webkit移植到NDK(裸端的Webkit for Android端口使用了NDK中没有的功能,因此没有应用程序开发人员):

在StackOverflow上,我们也发现了许多类似的问题,其中大部分是通过指向WebView来解决的(我们已经这样做了,而且还不够好)

我们目前正在调查Chromium for Android(或其中的一部分)是否可以变成我们的应用程序可以使用的库。还有其他人这样做过吗?

更新

在看了GitHub上的chromeview项目(接受的答案)之后,我们决定等待谷歌在未来的Android设备上发布基于Chrome的WebView。 Chromium渲染引擎相当大(~40MB),这不会给实际应用留下太多空间:(

android webkit android-ndk chromium
6个回答
12
投票

pwnall / chromeview·GitHub https://github.com/pwnall/chromeview

ChormeView的工作方式与Android的WebView类似,但最新的Chromium代码支持。


10
投票

你应该看看Crosswalk项目。由英特尔赞助,并积极开发。他们提供Chromium资源,并承诺在6周内在Crosswalk中提供所有新的Chromium功能。

Crosswalk是雄心勃勃的HTML5应用程序的Web运行时。它提供了现代浏览器的所有功能,结合深度设备集成和用于添加本机扩展的API。它特别适用于移动设备。

Crosswalk在ARM和Intel架构上支持Android 4.0及更高版本。

在找到这个项目的一小时内,我在带有Crosswalk的Android手机上运行了我的Cordova / Phonegap应用程序。我很高兴我不必调整我的Javascript代码来尊重(4.4之前的)android.webkit.WebView的缺点。

https://crosswalk-project.org


4
投票

没有WebKit,就有一个GeckoView。当然,它为项目增加了超过20Mb的库。


2
投票

我尝试使用Chromium的最新代码版本来构建自定义WebView,并且它是成功的。

我现在就给出我的方法但不是源代码。

最终,自定义WebView库的大小约为30MB,对于某些小应用来说相当大。但它很棒,因为可以完全支持Android 4.0。

以下是我的方法:

我稍后会更新我的代码,但如果您不想等待,可以立即尝试我的指南。


1
投票

如今,GeckoView似乎是另一种考虑因素


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.