Mobile/GeckoView: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 34: Line 34:


The Gecko-related code for Focus lives in [https://github.com/mozilla-mobile/focus-android/blob/90bf62d89919d5ae2d8bd95954491264dcbe1bba/app/src/gecko/java/org/mozilla/focus/web/WebViewProvider.java WebViewProvider.java]
The Gecko-related code for Focus lives in [https://github.com/mozilla-mobile/focus-android/blob/90bf62d89919d5ae2d8bd95954491264dcbe1bba/app/src/gecko/java/org/mozilla/focus/web/WebViewProvider.java WebViewProvider.java]
== Known Issues ==
=== Asset Compression - {{bug|908929}} ===
GeckoView assets (.so's) should not be compressed in final APK's built by 3rd-party developers. This may cause problems in some cases. See {{bug|908929}}.

Revision as of 18:21, 30 June 2017

What is GeckoView

GeckoView is an Android library project that allows third-party developers to use Gecko as an Android View in their own applications. GeckoView is similar to Android's built in WebView, but it is not a drop in replacement for WebView.

Note that GeckoView is NOT ready to be used in a production environment. It is currently possible to load webpages, but that's about it. See bug 1322573.

Using GeckoView

  1. Download a recent GeckoView AAR from treeherder (mozilla-central tree). The AAR is available from the 'Android API15+ Gradle opt' job under the 'Bg' symbol. After clicking that, there is a link to 'geckoview-0.0.1.aar' in the bottom pane.
  2. Add the GeckoView AAR to your Gradle / Android Studio project. In Android Studio you can add the .aar as follows:
    1. Move the geckoview aar to your project's 'libs' folder.
    2. Use the 'New Module' option under the 'File' menu.
    3. Import the .aar file.

You can now use GeckoView your app by including the following in a layout XML file:

<org.mozilla.gecko.GeckoView
  android:id="@+id/geckoview"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content" />

You can then load a page in your code with:

GeckoView geckoView = (GeckoView) findViewById(R.id.geckoview);
geckoView.loadUri("http://mozilla.com");

Example App

Firefox Focus has a build variant that uses Gecko. To build, check out the Focus code from https://github.com/mozilla-mobile/focus-android and follow the instructions. The only difference is you need to select one of the Gecko build variants from the Android Studio 'Build' menu.

The Gecko-related code for Focus lives in WebViewProvider.java