Mobile/GeckoView: Difference between revisions
Line 31: | Line 31: | ||
== Example App == | == Example App == | ||
Firefox Focus has a build variant that uses Gecko. To build, check out the Focus code from <code>https://github.com/mozilla-mobile/focus-android</code> and follow the [https://github.com/mozilla-mobile/focus-android/blob/master/README.md 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 [https://github.com/mozilla-mobile/focus-android/blob/90bf62d89919d5ae2d8bd95954491264dcbe1bba/app/src/gecko/java/org/mozilla/focus/web/WebViewProvider.java WebViewProvider.java] | |||
== Known Issues == | == Known Issues == |
Revision as of 18:20, 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
- 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 'libs' folder.
- Use the 'New Module' option under the 'File' menu.
- 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
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.