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.
- 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.
- Add the GeckoView AAR to your Gradle / Android Studio project. In Android Studio you can add the .aar as follows:
- Move the geckoview aar to your project's 'app/libs' folder.
- Use the 'New Module' option under the 'File' menu.
- Import the .aar file.
- Add the new GeckoView AAR module as a dependency to the application.
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:
// Find the GeckoView in our layout GeckoView geckoView = (GeckoView) findViewById(R.id.geckoview); // Attach the GeckoView to a new GeckoSession GeckoSession session = new GeckoSession(); geckoView.setSession(session); // Load a URL session.loadUri("http://mozilla.com");
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