Google has released Android Studio 3.5, codenamed Project Marble, saying that the team has worked for eight months on product quality ahead of big new features.
That said, there is a ton of interesting stuff here, not least official support for developing on Chrome OS. Running the IDE on Google's OS requires installing Linux, which then lives in a sandbox.
Another notable feature is called Apply Changes. This is a technique for updating an application on the fly while debugging, speeding up the coding process. Google's first try at this was Instant Run, which rewrites the Android Package (APK) for your app when you edit the code, and replaces classes as you go. Sometimes this caused "head-scratching errors", according to Android product manager Jon Tsao, which the new Apply Changes is intended to overcome.
Apply Changes creates an APK patch, rather than replacing the running version, and uses a feature in Android 8.0 and higher that allows the bytecode of loaded classes to be swapped with the updated version. If in fact the application has to be restarted, the developer is notified.
When Windows users of Android Studio complained about slow builds, Google worked out that a common cause was antivirus software doing real-time file scanning. Android Studio now warns of this and suggests excluding project directories from the scan.
The Layout Editor has had multiple performance and usability updates after developers expressed frustration with the visual designer that made them prefer to edit the underlying XML code manually. The changes are focused on constraint visualisation, which concerns the way designers specify how visual components are sized and aligned.
Users of the NDK (Native Development Kit) can now use multiple versions side by side, and specify the version of the NDK that each module in a project uses.
Conditional Delivery is a new feature that lets you specify modules that are only installed if the device meets the requirements you specify, such as hardware features, software version, country or API level. Your app can download these modules later on request.
The Android Gradle plugin, which operates the build system, has also been upgraded to 3.5.0. The team promises faster builds as well as cacheable unit tests.
Android Studio is based on the JetBrains IntelliJ IDEA Java IDE, which in this release is updated to 2019.1, several versions ahead of the one used for Android Studio 3.4 and providing another set of fixes and improvements.
More than any of the above, Android developers will be grateful for fixes to a claimed "600 bugs, 50 memory leaks, 20 IDE hangs, and improving XML & Kotlin typing latency", according to product manager Jamal Eason.
There is some vagueness about the scope of Project Marble. The eight months referred to by Eason seems to reflect the time between the release of Android Studio 3.3 in January this year, and the new 3.5 update. In other words, it is a multi-release effort rather than referencing Android Studio 3.5 alone. Google promises that quality work will continue, but we can expect big new features to make a comeback too. ®