Trigger.io Forge v2.4.1 – Intel Crosswalk, Runtime App Permissions & Android Studio support
Towards the end of last year I wrote about our upcoming 2.4 release and today I’m happy to announce its arrival!
We’ll be covering the individual features landing with
v2.4.1 in more detail over the coming weeks but let’s take a quick look at the highlights:
New forge build target: Crosswalk
With the release of Trigger.io Forge
crosswalk target has finally graduated from the beta branch and has been declared ready for production use.
Anyone developing hybrid apps for Android will be familiar with the myriad of compatibility issues that pop up when you start testing your app against different versions of Android.
Android versions before v4.4 shipped with a proprietary System WebView which lacked many basic HTML5 features, performed poorly and suffered from compatibility issues.
Android versions after v4.4 use whichever version of the Chrome-based System WebView was current when the device shipped.
The very latest versions of Android now periodically update the System WebView when newer versions of Chrome are released but this creates new problems when System WebView changes suddenly render your code inoperable.
By using our
crosswalk target you can now use the latest web standards across all Android devices and control when you want to upgrade your app to support newer Chromium releases.
For more background information please read: Solving Android Fragmentation with Trigger.IO Forge and Intel’s Crosswalk
Runtime App Permissions
With the release of Trigger.io Forge
v2.4.1 and our new
forge.permissions module we fully support the new Android Runtime Permissions framework and give you complete control over when and how your app makes native permission requests.
By default, all forge module API’s will now only make a request to the user for permissions when the API is called and not during application startup.
While this has the benefit of not requiring a user to make an “all-or-nothing” decision when they install the app it still has the downside that it can quickly get quite complex to handle situations where users deny permission requests.
By using the
forge.permissions module you have fine-grained control over permission management, can easily handle cases where permissions are denied and greatly increase the probability that users will grant your app the permissions it requires.
Android Studio Support
This means that all development and official support for the Android Developer Tools (ADT) in Eclipse have now ended. Specifically, this includes the ADT plugin as well as the Android ant build system.
We’ll continue to support native module development with ant and Eclipse for as long as practical but you may be pleasantly surprised at how much easier Native Module development can be with Gradle & Android Studio!
Upgrade your app to Trigger.io Forge v2.4.1
You can find more information in the v2.4.1 release notes but the following steps should get you going:
Step 1 – Upgrade your platform version
Open your app’s
src/config.json file in your favorite text editor and set the
platform_version key to
v2.4.1 as follows:
Step 2 – Check your module versions
Due to changes introduced by the new runtime permissions framework in Android 6.0 Marshmallow (API level 23) you may need to update your modules.
If you are using any of the following modules please ensure you are on the latest versions:
Step 3 – Develop!
To build your app against the new
crosswalk target you can simply run:
forge build crosswalk
forge run crosswalk
ios targets remain unchanged.
We’ve also added two new optional configuration keys to
src/config.json that control Crosswalk behaviour:
If you are experiencing rendering issues on some devices the
disable_gpu_rasterization setting will work around bugs in their OpenGL implementations.
disable_pull_to_refresh_effect setting allows you to disable Crosswalk’s default behaviour of refreshing the screen when the user “pulls-down’ on a page.
Check the documentation for more information.
v2.4.1 is a massive release for us and represents the culmination of almost a year’s worth of engineering effort.
The complexity of integrating a new Forge runtime while simultaneously migrating our Android build system over to Gradle has been non-trivial and I’d like to give a special shout out to:
v2.3betabranch testers who tirelessly hammered on each release, reported bugs and – often – contributed hours of their time to help us track down and reproduce issues. Y’all know who you are, thank you!
The Crosswalk team @ Intel. Crosswalk is beautifully engineered so it was rare that we got stuck, but when we did you were there with rapid responses, answers and marketing support!
Finally, if you run into any issues with
v2.4.1 or have any questions about this release please don’t hesitate to get in touch with us at email@example.com.