Mobile/GeckoView: Difference between revisions
| Line 9: | Line 9: | ||
== Using GeckoView == | == Using GeckoView == | ||
# | # Add Nightly taskcluster repo to your build.gradle | ||
# Add | |||
<pre> | |||
repositories { | |||
maven { | |||
# | url 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.nightly.latest.mobile.android-api-16-opt/artifacts/public/android/maven' | ||
} | |||
} | |||
</pre> | |||
# Add geckoview to dependencies | |||
Again, in build.gradle | |||
<pre> | |||
dependencies { | |||
compile 'org.mozilla:geckoview-nightly-armeabi-v7a:+' | |||
} | |||
</pre> | |||
This will always use the latest Nightly in the repository. As GeckoView development continues, we will have Beta and Release repositories that have the expected version names (61.0.0, etc). | |||
# Using GeckoView | |||
You can now use GeckoView your app by including the following in a layout XML file: | You can now use GeckoView your app by including the following in a layout XML file: | ||
| Line 28: | Line 46: | ||
<pre> | <pre> | ||
// Find the GeckoView in our layout | onCreate(...) { | ||
GeckoView geckoView = (GeckoView) findViewById(R.id.geckoview); | // Find the GeckoView in our layout | ||
GeckoView geckoView = (GeckoView) findViewById(R.id.geckoview); | |||
// Attach the GeckoView to a new GeckoSession | // Attach the GeckoView to a new GeckoSession | ||
GeckoSession session = new GeckoSession(); | GeckoSession session = new GeckoSession(); | ||
geckoView.setSession(session); | geckoView.setSession(session); | ||
// Load a URL | // Load a URL | ||
session.loadUri("http://mozilla.com"); | session.loadUri("http://mozilla.com"); | ||
} | |||
</pre> | </pre> | ||
Revision as of 19:29, 22 March 2018
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 pages and do some basic stuff, but features are limited.
Current API documentation can be viewed here: https://mozilla.github.io/geckoview/javadoc/mozilla-central/
Using GeckoView
- Add Nightly taskcluster repo to your build.gradle
repositories {
maven {
url 'https://index.taskcluster.net/v1/task/gecko.v2.mozilla-central.nightly.latest.mobile.android-api-16-opt/artifacts/public/android/maven'
}
}
- Add geckoview to dependencies
Again, in build.gradle
dependencies {
compile 'org.mozilla:geckoview-nightly-armeabi-v7a:+'
}
This will always use the latest Nightly in the repository. As GeckoView development continues, we will have Beta and Release repositories that have the expected version names (61.0.0, etc).
- Using GeckoView
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:
onCreate(...) {
// 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");
}
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
Bugs
Klar Blockers
- P1 [geckoview:klar] bugs:
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
- Other GeckoView P1 bugs:
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
- Klar's "Klar v6.0" GitHub issues
- Klar's "Klar+GeckoView" GitHub issues
- geckoview:klar Fixed Bugs
- geckoview:klar Open Blockers
Klar Backlog
- P2-P3 [geckoview:klar] bugs:
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Klar Unprioritized
- Unprioritized [geckoview:klar] bugs:
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Crow Bugs
- All [geckoview:crow] bugs:
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);