WPE WebKit port for Android.
WPEView wraps the WPE WebKit browser engine in a reusable Android library. WPEView serves a similar purpose to Android's built-in WebView and tries to mimick its API aiming to be an easy to use drop-in replacement with extended functionality.
Setting up WPEView in your Android application is fairly simple.
(TODO: package, distribute and document installation)
First, add the WPEView widget to your
Activity layout:
<com.wpe.wpeview.WPEView
android:id="@+id/wpe_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"/>And next, wire it in your Activity implementation to start using the API, for example, to load an URL:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var browser = findViewById(R.id.wpe_view)
browser?.loadUrl(INITIAL_URL)
}To see WPEView in action check the examples folder.
The bootstrap script requires python3.
WPE Android depends on a considerable amount of libraries, including libWPE and WPEWebKit. To ease the cross-compilation process we use Cerbero. To set all things up run:
python3 ./scripts/bootstrap.pyThis command will fetch the required binaries and place them in the expected location.
If you want to build (and/or modify) the dependencies you can pass the --build option:
python3 ./scripts/bootstrap.py --buildThis command will fetch Cerbero, the Android NDK and a bunch of dependencies required
to cross-compile WPE Android dependencies. The process takes a significant amount of time.
You can optionally create a debug build of WPEWebKit passing the --debug option to the bootstrap command:
python3 ./scripts/bootstrap.py --build --debugFinally, the bootstrap option accepts the --arch option to set the target architecture.
Currently the only supported architecture is arm64.
Android Studio is required to build and run WPE Android.
Once the bootstrap process is done and all the dependencies are cross-compiled and installed,
you should be able to open the launcher demo with Android Studio and run it on a real device.
- The only supported architecture at the moment is
arm64. - WPE Android does not work with an Android emulator due to EGL emulation issues.
- The scripts and build have only been tested in Linux.