Android Studio 3.5 Is All About Making Your Apps Dynamic – I/O 2019


Android Studio 3.5's first beta is out, and it brings a number of fixes and optimizations, along with one major new feature; the ability to deliver app features dynamically. This new feature essentially allows developers to set up requirements for certain app features or versions thereof, and only deliver an app version that contains or is compatible with those if the target device meets those requirements.

This feature is set to be a literal game changer, making this release a big deal even if its only other real content is simple bug fixes. Google calls the new feature "conditional delivery for dynamic feature modules", and it allows developers to set up three requirements.

Apps being delivered can look at a user device's country of origin, API level, which is determined by its Android version, and of course, the device's overall hardware and software features. Using all of these requirement sets as triggers, developers will be able to manufacture different feature modules and feature sets that cater to a given user's device strengths and weaknesses.


One of the easiest examples to think up for a use case, as stated above, is for games. The feature could allow for delivery of a slightly downgraded version of a game, or one that eschews certain optimizations, based on a target device's power, Android API level, and feature set.

To paint the clearest lines possible on this feature, perhaps a developer has a game that they developed in Unity, and can thus port around to different CPU architectures, platforms, graphical backends, and so on. If this developer creates a beautiful, highly optimized Vulkan version alongside a less beefy OpenGL version, rather than forcing OpenGL users to download the full game including Vulkan optimizations that they can't use, they can simply serve them only the OpenGL version.

Likewise, developers who may use certain Android API features for certain things could potentially create workarounds, however inefficient or not-so-pretty, to serve to devices running older Android versions.


The bug fixes this time around fixes for things like APK Analyzer returning strange errors after the latest upgrade, code completion support fixes for the built-in Java IDE, Turkish letters bugs in Gradle, and more. Some of the more key fixes include doing away with a bug that prevented in-IDE app testing, cache syncing for projects, protections for library changes in new projects, and a fix for a data binding issue that popped up in a recent Gradle version.

As with any upgrade to the Beta channel of Android Studio, you'll need to have your Android Studio set up to be on the Beta channel before you can take advantage. It's ready to download as of this writing, so if you're a developer and this list of features and fixes piqued your interest, now's the time to give it a go. If something happens that you don't like, you can always roll back to the Stable channel to revert changes and go back to the way things were before you did the update.

Share this page

Copyright ©2019 Android Headlines. All Rights Reserved.

This post may contain affiliate links. See our privacy policy for more information.
Senior Staff Writer

Daniel has been writing for Android Headlines since 2015, and is one of the site's Senior Staff Writers. He's been living the Android life since 2010, and has been interested in technology of all sorts since childhood. His personal, educational and professional backgrounds in computer science, gaming, literature, and music leave him uniquely equipped to handle a wide range of news topics for the site. These include the likes of machine learning, Voice assistants, AI technology development news in the Android world. Contact him at [email protected]

View Comments