ChromiumWebView
Android WebView wrapper based on chromium
Notice
This is just a experimental project, don't use it in product.
If you have problem when git pull, please re-clone this repository. I updated the commits information in 06/19/2014.
Why you need
The current performance of Android webview is so poor. ChromiumWebView gives your application early access to the newest features in Chromium, and removes the variability due to different WebView implementations in different versions of Android.
Inspired by ChromeView project, our goal is to provide full Android WebKit compatible API, so the web apps or hybrid apps can easily immigrate to chromium.
You can use ChromiumWebView as the same as Android WebView except for different package name.
TintBrowser
The TintBrowser is forked from https://github.com/Anasthase/TintBrowser, but use Chromium WebView as web engine. The TintBrowser is a full functional browser that you can use it as start point.
Setting Up
This section explains how to set up your Android project to use ChromiumWebView.
Get the Code
Check out the repository in your Eclipse workspace, and make your project use
ChromiumWebView as a library. In Eclipse, right-click your project directory,
select Properties
, choose the Android
category, and click on the Add
button
in the Library
section.
Copy Data
Copy assets/webviewchromium.pak
to your project's assets
directory. Star
this bug if you
agree that this is annoying.
TestShell
There is a sample project to illustrate the usage of ChromiumWebView in the test folder. It is only a shell program that can navigate website.
How to build libchromeview
A blog describes the source management of chromium which ChromiumWebView based on. It is written in chinese.
Environment
- Please set up your build environment by following the instructions on the Chromium wiki:
- You need to install extra pre-requisites to build for Android, covered in building Chrome for Android.
- depot_tools contains the following tools, used to manage and build libchromeview from source:
- gclient manages code and dependencies.
- ninja is the recommended tool for building libchromeview on Android. Its website contains detailed usage instructions.
Download the source
- Create a source directory:
cd <home directory>
mkdir chromium-src
cd chromium-src
- Auto-generate gclient's configuration file (.gclient):
gclient config --name=src/chromeview git://github.com/mogoweb/chromium_webview.git
You can replace git:// with ssh://git@ to use your GitHub credentials when checking out the code. 3. From the same directory containing the .gclient file, fetch the source with:
gclient sync
Building libchromium_webview
- Setup build environment
cd chromium-src
source ./chromeview/build/envsetup.sh
mogo_gyp
- build libchromeview
ninja -C out/Debug libchromeview -j8
Copyright and License
The directories below contain code from the The Chromium Project, which is subject to the copyright and license on the project site.
assets/
libs/
src/com/googlecode
src/org/chromium
Some of the source code in src/com/mogoweb/chrome
has been derived from the
Android source code, and is therefore covered by the
Android project licenses.
The rest of the code is Copyright 2013 mogoweb, All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.