/chromium_webview

Android WebView wrapper based on chromium

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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

  1. Please set up your build environment by following the instructions on the Chromium wiki:
  2. You need to install extra pre-requisites to build for Android, covered in building Chrome for Android.
  3. 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

  1. Create a source directory:
cd <home directory>
mkdir chromium-src
cd chromium-src
  1. 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

  1. Setup build environment
cd chromium-src
source ./chromeview/build/envsetup.sh
mogo_gyp
  1. 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.