14 December 2016
Android plugin dependency update
On October 5th 2016, we announced progress toward a dependency system for Android plugins to help resolve various incompatibilities between plugin library versions. We are excited to announce that, as of daily build 2016.3005, this dependency system has been put into effect. Although it may seem unclear to most users, this is a critical step forward to allow plugins with different dependencies to work together.
Plugin developers: how this affects you
With this updated system in effect, all Android plugins that make use of either the Android Support Libraries or Google Play Services must conform to the versions we’ve encapsulated in dependency plugins. Future plugin submissions which do not take advantage of the dependency system will be rejected.
Furthermore, plugins submitted to the Corona Marketplace which depend on either the Android Support Libraries or Google Play Services have until January 31, 2017 to be updated to the dependency system. Starting on February 1, 2017, any third-party plugin which is not updated to the dependency system will be hidden until the changes are implemented.
Going forward, we will give plugin developers timely notice of our intention to update dependency plugins. More information on the technical details of the dependency system and how to update your plugins can be found in the Android Dependency Integration guide.
The state of plugin compatibility issues
Most of Corona’s internally-developed plugins have already been updated to use the new dependency system. As a result, most of the incompatibilities between affected plugins are now resolved. The most crucial compatibility issues we’ve resolved include:
- AdMob and Google Analytics
- AdMob and Google Play Games Services
- Pollfish and Google Play Games Services
Note that some compatibility issues between plugins that aren’t related to the Android Support Libraries or Google Play Services still exist, but we hope to address them in the near future. These include:
- Corona Ads and Facebook Audience Network
- Appodeal and various other plugins
The plugins affected by this update include:
- Corona Ads
- Facebook Audience Network
- Flurry Analytics
- Google Analytics
- Google Play Game Services
- Google Play Services (AdMob)
- Peanut Labs
Other technical issues you should note regarding daily build 2016.3005 or higher:
- As of this writing, any plugins that depend on the Android Support Libraries use version 23.4.0 and any plugins that depend on Google Play Services use version 9.6.1.
- Since plugin dependencies are specified as part of a plugin’s
metadata.lua, most plugins that previously required inclusion of
build.settingsfile no longer require it. While leaving it there will do no harm, you can omit it if you’re using daily build 2016.3005 or higher.
We thank you for your patience and, as always, please join us in the Corona Forums to discuss further.