Google today launched Android Studio 3.2, the latest version of its integrated development environment (IDE), with over 20 new features, including a few related to Android Pie and the new Android App bundle. You can download the new version for Windows, Mac, and Linux now directly from developer.android.com/studio. If you are already using Android Studio, you can get the latest version in the navigation menu (Help => Check for Update on Windows/Linux and Android Studio => Check for Updates on OS X).
Google released Android Studio 3.1 in March. The version number 3.2 would suggest this isn’t a significant release, but if you build for Android and skim the list, you may find otherwise.
Here’s the rundown of what version 3.2 brings to the table:
- Slices support — There is new built-in template for Slices, which surface app content in Google Search suggestions and the Google Assistant, to help you extend your app with the new Slice Provider APIs as well as new lint checks to ensure that you’re following best practices. To use, right-click on a project folder, and navigate to New→ Other→ Slice Provider.
- Sample Data — This feature allows you to use placeholder data to aid in the design of your app, helping you visualize layouts that depend on runtime data. You can add built-in sample data to populate views such as RecyclerViews, ImageViews, and TextViews via a popup-window in the Layout Editor.
- Material Design Update — When you start migrating from the Android Design support library to the new MaterialComponents app theme and library, you will get access to new and updated widgets such as BottomAppBar, buttons, cards, text fields, new font styles and more.
- CMakeList Editing Support — For those using C/C++ in their app, there is now better support for CMake. Code completion and syntax highlighting also now work on common CMakeList build script commands.
- What’s New Assistant — A new assistant panel now opens automatically after an update to inform you about the latest changes to the IDE. You can also open the panel by navigating to Help → What’s New in Android Studio.
- AndroidX Refactoring Support — One of the components of Android Jetpack is the introduction of the Android extension libraries (AndroidX) as a replacement for the Android Support Libraries. To add AndroidX to a new project you just need to add
gradle.propertiesfile. Additionally, there is a new built-in refactoring action to help migrate your project the new namespace and dependencies. Also if you have any Maven dependencies that have not migrated to the AndroidX namespace, the build system will automatically convert those project dependencies as well.
- IntelliJ Platform Update — The IntelliJ 2018.1.6 platform release adds many improvements to dataflow analysis, debugging, new inspections, inline external annotations, partial Git commits, plus much more..
- Kotlin Update — Kotlin 1.2.61 brings support for the Kotlin-friendly Android 9 Pie SDK.
- Android App Bundle — The new app publishing format is designed to help you deliver smaller APKs to your users and reduce download size of your app. Google Play’s new app serving model, called Dynamic Delivery, processes your app bundle to generate and serve optimized APKs for each user’s device configuration, so they download only the code and resources they need to run your app. With Android Studio 3.2 or via the command line, you can easily build your code as an app bundle and get the benefit of smaller APKs based on language, screen density, and ABIs with no changes to your app code.
- D8 Desugaring — In some cases, new Java Language features require new bytecodes and language APIs. However, older Android devices may not support these features. Desugaring allows you to use these features on older devices by replacing new bytecodes and language APIs with older ones during the build process. D8 desugaring is turned on by default and you can now use most of the latest language changes while targeting older devices.
- R8 Optimizer — The transition to use R8 as a replacement for ProGuard, optimizing and shrinking Java language bytecode, has begun. R8 is still experimental, so Google does not recommend publishing your app using it yet.
- Emulator Snapshots — Create a snapshot of the current state of your emulator and boot up and switch into any snapshot in under 2 seconds. Built upon the Android Emulator Quickboot feature, Android Snapshots are even faster to save and load due to under-the-hood speed enhancements. When testing and developing your app, Android snapshots allow you to pre-configure an Android Virtual Device (AVD) snapshot with the presets, apps, data and settings that you want in-place, and repeatedly go back to the same snapshot.
- Microsoft Hyper-V Support — You can now run the Android Emulator on Windows 10 computers that have Hyper-V enabled. Intel HAXM is still the default hypervisor for the fastest Android Emulator experience. However, thanks to recent open source contributions by Microsoft, and the addition of the new Windows Hypervisor Platform (WHPX) API, the Android Emulator can coexist with other Hyper-V-backed applications, like local Virtual Machines, using the new Hyper-V Support.
- AMD Processor Support — AMD processors are now supported by the Android Emulator on Windows 10. Previously running the Android Emulator was limited to slow software emulation when running Windows, but developers who have an AMD processor can now have hardware accelerated performance.
- Screen Record in Android Emulator — You can now record both screen and audio on any Android API level with the new screen record feature in the Android Emulator. The latest Android Emulator (v28.0.+) is no longer limited to screen recording on a physical Android device only on Android 4.4 KitKat (API 19) and above, without audio. As an added bonus, there is a built-in conversion to output to GIF and WebM. You can trigger the new screen record feature via the Android Emulator Extended Controls panel, command line, and from Android Studio.
- Virtual Scene Camera for Android Emulator — The new Virtual Scene camera in the Android Emulator helps you to develop for ARCore, Google’s platform for building augmented reality experiences. The emulator is calibrated to work with ARCore APIs for AR apps and also allows you to inject virtual scene bitmap images. The virtual scene camera can also be used as a regular HAL3 compatible camera.
- ADB Connection Assistant — Android Studio 3.2 has a new assistant system to help troubleshoot your Android ADB device connections issues. The ADB Connection Assistant walks you through common troubleshooting steps to connect your Android device to your development machine. You can trigger the assistant from the Run dialog box or by navigating to Tools → Connection Assistant.
- Energy Profiler — The new Energy Profiler in the Android Studio performance profiler suite can help you understand the energy impact of your app on an Android device. You can now visualize the estimated energy usage of system components, plus inspect background events that may contribute to battery drain. To use the energy profiler, ensure you are connected to an Android device or emulator running Android 8.0 Oreo (API 26) or higher.
- System Trace — This new feature in the CPU Profiler allows you to inspect how your app interacts with system resources in fine-grained detail. Inspect exact timings and durations of your thread states, visualize where your CPU bottlenecks are across all cores, and add custom trace events to analyze. To use system trace, start profiling your app, click into the CPU Profiler, and then choose the System Trace recording configuration.
- Profiler Sessions — We now automatically save Profiler data as “sessions” to revisit and inspect later while you have Android Studio open. We’ve also added the ability to import and export your CPU recordings and heap dumps for later analysis or inspection with other tools.
- Automatic CPU Recording — You can now automatically record CPU activity using the Debug API. After you deploy your app to a device, the profiler automatically starts recording CPU activity when your app calls
startMethodTracing(String tracePath), and stops recording when your app calls
stopMethodTracing(). Similarly, you can also now automatically start recording CPU activity on app start-up by enabling Start Recording a Method Trace on Startup option in your run configuration.
- JNI Reference Tracking — For those of you who have C/C++ code in your Android app, you can now inspect the memory allocations of your JNI code in the Memory Profiler. As long as you deploy your app to a device running Android 8.0 Oreo (API 26) and higher, you can drill down into the allocation call stack from your JNI reference. To use the feature, start a memory profiler session, and select the JNI Heap from the Live Allocation drop-down menu.
This release includes many stability and performance fixes in addition to the new features (full release notes). Google didn’t share its plans for the next version.