Google today launched Android Studio 3.0, the latest version of its integrated development environment (IDE), with new features like app profiling tools to quickly diagnose performance issues, support for the Kotlin programming language, and new wizards for accelerating development using the latest Android Oreo APIs. The company today also started rolling out the first developer preview of Android 8.1 Oreo with Android Go optimizations, a new Neural Networks API, and a few smaller enhancements in response to feedback.
You can download the new version of Android Studio 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).
To get the Android 8.1 developer preview on your Pixel or Nexus device, you’ll have to enroll in the Android Beta Program to get the update over-the-air. The Developer Preview is available for Pixel 2, Pixel 2 XL, Pixel, Pixel XL, Pixel C, Nexus 5X, Nexus 6P, and the Android emulator. Google is aiming for a final public version in December.
Android Studio 3.0
Here’s the rundown of what version 3.0 brings to the table:
- Kotlin Programming Language — Kotlin is now officially supported in Android Studio, including features likes code completion and syntax highlighting.
- Java 8 Language features — To update your project to support the new Java 8 Language toolchain, simply update your Source and Target compatibility levels to 1.8 in the Project Structure dialog.
- Layout Editor — The component tree in the Layout Editor has with better drag-and-drop view insertions, and a new error panel.
- Adaptive Icon Wizard — The new wizard creates a set of launcher icon assets and provides previews of how your adaptive icon will look with different launcher screen icon masks. Support for VectorDrawable layers is new for this release.
- XML Fonts & Downloadable Fonts — If you target Android Oreo (API Level 26 and higher) for your Android app, you can now add custom fonts & downloadable fonts using XML.
- Android Things Support — A new set of templates in the New Project wizard and the New Module wizard to develop for the Android Things platform.
- IntelliJ Platform Update — IntelliJ 2017.1 release, which has features such as Java 8 language refactoring, parameter hints, semantic highlighting, draggable breakpoints, enhanced version control search, and more.
- Instant App Support — You can add Instant Apps features to your project.
- Build Speed Improvements — A rare breaking API change in the Android Gradle Plugin to improve scalability and build times is one of reasons the version number has jumped from 2.4 to 3.0. If you depend on APIs provided by the previous Gradle plugin you should validate compatibility with the new plugin and migrate to the new APIs. To test, update the plugin version in your build.gradle file.
- Google’s Maven Repository — To facilitate smaller and faster updates, Android Studio 3.0 utilizes Google’s Maven Repository by default instead of using the Android SDK Manager to find updates to Android Support Library, Google Play Services, and Firebase Maven dependencies. Used in combination with the latest command line SDK Manager tool and Gradle, Continuous Integration builds should migrate to Google’s Maven Repository for future Maven repository updates.
- Google Play System Images — The emulator system images for Android Oreo now include the Google Play Store, allowing developers to do end-to-end testing of apps with Google Play and keeps Google Play services up-to-date in Android Virtual Device (AVD). The emulator system images are signed with a release key so you will not be able to get elevated privileges. You can use the Android Open Source Project (AOSP) emulator system images for that.
- OpenGL ES 3.0 Support in Android Emulator — OpenGL ES 3.0 support for Android Oreo system images along with significant improvements in OpenGL ES 2.0 graphics performance for older emulator system images.
- App Bug Reporter in Android Emulator — An easier way to generate a bug report with the Android Emulator with all the necessary configuration settings and space to capture your repro steps.
- Proxy Support in Android — A user interface to manage the HTTP proxy settings used by the emulator.
- APK Debugging — Debug an arbitrary APK. As long as you have a debuggable version of your APK, you can use the new APK Debugging features to analyze, profile, and debug the APK. If you have access to the sources of your APK, you can link the source to the APK debugging flow for a higher fidelity debugging process.
- Layout Inspector — Better grouping of properties into common categories, as well as search functionality in both the View Tree and Properties Panels.
- Device File Explorer — The new Device File Explorer in Android Studio 3.0 allows you to view the file and directory structure of your Android device or emulator. As you are testing your app, you can now quickly preview and modify app data files.
- Android Test Orchestrator Support — When used with AndroidJUnitRunner 1.0 or higher, the Android Gradle plugin 3.0 supports the use of the Android Test Orchestrator. The Android Test Orchestrator allows each of your app’s tests to run within its own Instrumentation.
- Android Profiler — A brand new suite of tools to help debug performance problems in your app. Once you deploy your app to a running device or emulator, click on the Android Profiler tab and you will now have access to a real-time & unified view of the CPU, Memory, & Network activity for your app. Each of the performance events are mapped to the UI event timeline which highlights touch events, key presses, and activity changes so that you have more context on when and why a certain event happened.
- APK Analyzer Improvements — Additional enhancements to help you further optimize the size of your APK.
This release also includes many stability and performance fixes in addition to the new features (full release notes). Google didn’t mention its plans for the next version.
Android 8.1 Developer Preview
Android 8.1 brings new features and developer APIs (API level 27), along with the usual optimizations, bug fixes, and security patches. Google highlighted the following new APIs:
- Android Go memory optimizations and targeting — A set of memory optimizations for Android Go configurations (1GB or less of memory). New hardware feature constants can target the distribution of apps and APK splits to normal or low-RAM devices running Android 8.1 and later.
- Neural Networks API — Neural Networks API in the NDK enables hardware-accelerated inference operations on supported devices. The Neural Networks API is a foundational layer for ML frameworks like TensorFlow Lite — Google’s upcoming cross-platform ML framework for mobile — as well as Caffe2 and others.
- Autofill enhancements — password managers and other Autofill services can now use the Autofill framework.
- Shared memory API — Apps can map anonymous shared memory and manage protection controls using the SharedMemory API. The API is parcelable, AIDL friendly, and exposes useful features like removing write permissions.
The Android 8.1 APIs are already final, by the way, so Google has already opened Google Play for apps compiled against or targeting API level 27. You can publish your APK updates in your alpha, beta, or production channels.