What’s new in Google’s Android Studio 3.5 beta

The next version of Google’s integrated development environment for building Android apps is available in a beta release

What’s new in Google’s Android Studio
Google

Google has released a beta version of Android Studio 3.5, the next release of its IDE for Android mobile development. The new version features improvements to memory management and UI responsiveness.

Where to download Android Studio

You can download Android Studio from the Android Studio web page.

Previous version: What’s new in Android Studio 3.3

New features in Android Studio 3.3 include:

  • Alignment with Project Marble, an effort to solidify fundamental IDE capabilities and polish user-facing features by reducing the number of crashes, hangs, memory leaks, and user-impacting bugs.
  • Improved incremental Java compilation when using annotation processors; as a result, build times are decreased. Note this optimization requires the Android Gradle 3.3.0 plugin or higher.
  • For C++, Version 3.3 supports the Clang-tidy tool for C++ static code analysis.
  • A navigation editor, previously previewed in the IDE, provides a visual mechanism to construct XML resources that support the new JetPack Navigation Component. The editor and this component enable building of predictable interactions between screens and content areas of an app.
  • Kotlin 3.11 is bundled, with support for Kotlin coroutines.
  • The updated project wizard supports a range of device types, languages, and frameworks.
  • Help is provided for deleting unused settings and cache directories, to assist with IDE upgrades.
  • Lazy task configuration is supported, via a plugin that uses the Gradle task creation API to avoid configuring tasks not needed to complete a build, or tasks not on the execution task graph.
  • Single-project variant sync is offered, to limit syncing to the active build variant. The Android Gradle plugin 3.3.0 or higher is needed for this capability.
  • Android App Bundles now support Instant Apps, with developers able to build Google Play Instant experiences from a single Android Studio project.
  • Android Emulator 28.0 now supports the launching of multiple instances of the same Android virtual device (AVD). This can be a convenient way for developers using continuous integration to run tests in parallel off one AVD configuration.
  • Developers can download Android 9 systems images for their emulator, for app testing.
  • To improve emulator snapshot save speed, Version 3.3 optimizes the way snapshots are saved.
  • IDE performance has been improved when profilers are being used.
  • The default memory profiler capture mode has been changed for Android 8.0 and higher devices to sample for allocations periodically. This addresses an issue in which apps performed significantly worse while profiling with default settings. Also by default, allocation tracking is turned off temporarily during CPU recordings to minimize impact on recording results.
  • The network profiler now formats common text types found in network payloads by default, including HTML, XML, and JSON.
  • The CPU profiler now shows render time for each frame on the main UI and render thread when recording with trace system calls. This can help with investigating bottlenecks or the source of UI jank in an app.
  • A product sentiment button enables quick feedback for the Android Studio team.

Previous version: What’s new in Android Studio 3.2

Android Studio 3.2 Canary, which Google recommends as the IDE for building Android 9 Pie applications and Android App Bundles, shipped in September 2018.

With Version 3.2, developers are encouraged to move to the Android App Bundle publishing format, which offers a smaller package size and saves developers from having to refactor code.

Android Studio 3.2 Canary has several notable additions. One is Android App Bundle, to dynamically reduce application size, and another is Jetpack, a set of libraries, tools, and architectural guidance.

Jetpack

Jetpack provides common infrastructure code so developers can focus on differentiation. Components are grouped into four categories: architecture, behavior, foundation, and UI. Backward compatibility is maintained in the components. With Jetpack, managed activities include persistence and life cycle management, to eliminate boilerplate code. New components featured in Jetpack include:

  • WorkManager, in an alpha version, for constraint-based background jobs that need guaranteed execution.
  • Navigation, also in alpha release, for structuring an in-app UI.
  • Paging, for loading large data sets.
  • Slices, in alpha release, for surfacing a UI inside Google Assistant as the result of a search.
  • KTX, to take advantage of Kotlin language features and transform code.

Android App Bundle

Looking to reduce Android app size, Google has introduced a publishing format, called Android App Bundle, that uses modularization to deliver features on demand rather than during install.

Supported in the Android Studio 3.2 Canary IDE release, Android App Bundle addresses a concern about growing application size, according to Google. The larger an app gets, the fewer installs it gets, Google says. One beta user, LinkedIn, has seen a 23 percent size reduction. Another beta user, Twitter, has seen a 35 percent reduction, Google says.

Features of App Bundle include:

  • Provision of a single build artifact uploaded to the Google Play app store. One artifact is built with all of an app’s compiled code, resources and native libraries.
  • The technology works with the Google Play’s new app-serving model, Dynamic Delivery, which optimizes app bundles for each user’s device configuration. Users only receive the parts of an app that they need.

At this point, devices running the Android 5.0 Lollipop release and later get the most benefit from Dynamic Delivery. But pre-Lollipop devices will still get a multi-APK-style APK automatically generated by Google Play from the App Bundle. Google Play takes an App Bundle and splits it into multiple, smaller APKs, called split APKs. A base APK features the part of an app that is always downloaded. Dynamic Delivery can find just the split APKs a compatible device needs. For earlier devices, Dynamic Delivery sends a multi-APK with appropriate resources. While App Bundle is supported in Google Play now, bundles would work with other app stores that enable support.

Other new features in Android Studio 3.2 Canary

Aside from App Bundle and Jetpack, other capabilities in the Android Studio 3.2 beta release include:

  • Android Emulator snapshots, for taking a snapshot of the current state of the emulator, including the screen, apps, and settings.
  • Sample Data, for using placeholder data to assist in the design of an app. This capability helps with visualizing layouts that rely on runtime data. Built-in sample data can be added to populate views such as ImageViews and TextViews.
  • Refactoring for Android extension libraries (AndroidX). These replace Android Support Libraries.
  • The Kotlin 2.62 language is bundled with the IDE.
  • Microsoft Hyper-V support, for running Android Emulator on Windows 10 with Hyper-V hardware virtualization enabled.
  • AMD processor support is enabled on Android Emulator on Windows 10.
  • JNI reference tracking, for those with C/C++ code in their apps. Memory allocations of JNI code can be inspected in the memory profiler.
  • An update to Material Design, with updated widgets such as BottomAppBar, buttons, cards, and text fields. Access to these widgets will be available when migrating from the Android Design support library to the new MaterialComponents app theme and library.
  • CMakeList editing support, featuring code completion and syntax highlighting.
  • The What’s New assistant panel to inform developers of the latest changes to the IDE.
  • D8 desugaring, for using newer Java features on older Android devices. In this release, desugaring is turned on by default.
  • The beginning of a transition from ProGuard to R8 as a mechanism to optimize Java bytecode.
  • The System Trace feature in the CPU Profiler provides details on how an app interacts with system resources.
  • Automatic recording of CPU activity via the Debug API.
  • The Energy Profiler tool to help understand energy usage by an app.
  • The JetBrains IntelliJIdea 2018.1 platform release, with data analysis and partial Git commits support. Android Studio is based on IntelliJ.

Previous version: What’s new in Android Studio 3.1

Released in late March 2018, Google’s Android Studio 3.1 IDE has added improvements for C++ and Kotlin coders and for SQLite database users.

The new C++ CPU performance profiler troubleshoots bottlenecks in code. Developers use the simplperf command line tool as the back end while the profiler records C++ method traces.

For Kotlin, Lint code quality checks now can be run from the command line as well as from the IDE. To take advantage of this Lint capability, developers open an Android Studio project and use the command line to run gradlew lint.

Android Studio 3.1 also offers enhancements for SQLite and Room databases in applications. Better code editor support has been added to assist with SQL table and query creation statements.

Also new to Android Studio 3.1:

  • For software builds, the 3.1 version switches to the D8 dexer as its default dex compiler, replacing the legacy DX compiler. D8 dexing is a compilation step that makes app size smaller, enables accurate step debugging, and can lead to faster builds.
  • An updated build output window organizes build status and errors in a tree view. Legacy Gradle build output also is funneled to this window.
  • The IDE includes the IntelliJ Idea 3.3 platform release, with support for Kotlin and SVG image preview support. (Android Studio has been based on the IntelliJ platform.)
  • Finer-grained controls are offered for the Quick Boot capability, which enables resumption of an Android Emulator session in fewer than six seconds.
  • Device emulator skins now work in a frameless mode, to help with testing apps with an 18.9 screen aspect ratio or with Android P’s DisplayCutout APIs.
  • To trace network traffic, the Network Profiler has been updated with a network thread view to inspect multithreaded traffic while a network request tab looks at network requests.

Previous version: What’s new in Android Studio 3.0

Released in October 2017, Google’s Android Studio 3.0 IDE adds support for the Kotlin language as a mechanism for building Android applications, as well as better Java 8 support and enhancements to its build system and debugging.

Kotlin interoperates with existing Android languages and runtimes. Developers can add Kotlin to a project using the conversion tool found in the Android Studio IDE via the menu sequence Code > Convert Java File to Kotlin File. Developers can also create a Kotlin-enabled using the New Project Wizard.

Besides Kotlin support, Android Studio 3.0 offers these new capabilities:

  • Improved support of Java 8 language features via migration to the javac tool chain. The Jack tool chain is being deprecated. The latest Android Gradle build system plugin enables use of Java 8 features in developers’ code and libraries
  • A breaking API change in the Android Gradle plugin improves scalability and build times. Depending on APIs provided by the previous Gradle plugin, developers are advised to validate compatibility with the new plugin and migrate to new APIs.
  • For smaller and faster updates, the Maven repository is used by default instead of the Android SDK Manager for finding updates to dependencies in Android Support Library, Google Play Services, and Firebase Maven.
  • A suite of tools, named Android Profiler, have been added to debug performance problems. Android Profiler replaces Android Monitor.
  • The Adaptive Icon Wizard creates launcher icon assets and previews how an adaptive icon will look with different launcher screen icon masks.
  • Features of Instant Apps, which are native Android apps that don’t require a user installer, can be added to projects.
  • Custom and downloadable fonts using XML can be used for apps targeting the Android Oreo release (API level 26 or higher).
  • The app bug reporter in Android Emulator helps document bugs. Android Emulator also supports the OpenGL ES 3.0 advanced graphics standard.
  • Templates in the New Project wizard and the New Module wizard support the Android Things embedded device platform.
  • To optimize the size of APK files, the APK Analyzer has been fitted with additional enhancements. Also, arbitrary APKs can be debugged.
  • Support was added for the JetBrains IntelliJ Idea 2017.1 IDE, with capabilities such as Java 8 refactoring and enhanced version control search. IntelliJ has been the basis for Android Studio.
  • Emulator system images for Android Oreo now include the Google Play store, to enable testing of apps with Google Play.

Copyright © 2019 IDG Communications, Inc.