Apache Cordova Android 4.0.0
15 Apr 2015
We are happy to announce that Cordova Android 4.0.0
has been released!
This release adds significant functionality, and also introduces a number of breaking changes. Mostly though, it adds first-class support for Crosswalk -- a bundled modern WebView!
cordova-android@4.0.0
will be the default android version in the next
version of cordova
. If you just can't wait though, you can try it out now:
cd my_project
cordova platform update android@4.0.0
cordova plugin add https://github.com/apache/cordova-plugin-whitelist.git#r1.0.0
# To install Crosswalk (optional):
cordova plugin add https://github.com/MobileChromeApps/cordova-plugin-crosswalk-webview.git#1.0.0
Major Changes
- Support for pluggable WebViews!
- Crosswalk can be added by installing the cordova-plugin-crosswalk-webview plugin.
- Splash screen functionality is now provided via plugin
- You will need to add the new cordova-plugin-splashscreen plugin to continue using a splash screen
- Whitelist functionality is revamped
- You will need to add the new cordova-plugin-whitelist plugin to continue using a whitelist
- Setting a Content-Security-Policy (CSP) is now supported and is the recommended way to whitelist (see details in plugin readme)
- Network requests are blocked by default without the plugin, so install this plugin even to allow all requests, and even if you are using CSP.
- This new whitelist is enhanced to be more secure and configurable, but the Legacy whitelist behaviour is still available via a separate plugin (not recommended).
- Note: while not strictly part of this release, the latest default app created by cordova-cli will include this plugin by default.
Changes For Plugin Developers:
- Develop in Android Studio
- Android Studio is now fully supported, and recommended over Eclipse
- Use
cordova plugin add ../path/to/my-plugin --link
to symlink .java files for development
- Build using Gradle
- All builds use Gradle by default, instead of Ant
- Plugins can add their own gradle build steps!
- Plugins can depend on Maven libraries using
<framework>
tags
- New APIs:
onStart
,onStop
,onConfigurationChanged
"onScrollChanged"
message removed. Useview.getViewTreeObserver().addOnScrollChangedListener(...)
instead- CB-8702 New API for plugins to override
shouldInterceptRequest
with a stream
Other Changes
- CB-8378 Removed
hidekeyboard
andshowkeyboard
events (apps should use a plugin instead) - CB-8735
bin/create
regex relaxed / better support for numbers - CB-8699 Fix CordovaResourceApi
copyResource
creating zero-length files when src=uncompressed asset - CB-8693 CordovaLib should not contain icons / splashscreens
- CB-8592 Fix NPE if lifecycle events reach CordovaWebView before
init()
has been called - CB-8588 Add CATEGORY_BROWSABLE to intents from showWebPage openExternal=true
- CB-8587 Don't allow WebView navigations within showWebPage that are not whitelisted
- CB-7827 Add
--activity-name
forbin/create
- CB-8548 Use debug-signing.properties and release-signing.properties when they exist
- CB-8545 Don't add a layout as a parent of the WebView
- CB-7159 BackgroundColor not used when
<html style="opacity:0">
, nor during screen rotation - CB-6630 Removed OkHttp from core library. It's now available as a plugin: cordova-plugin-okhttp
- CB-8484 Support for creating signed archive for Android