Skip to content

Most visited

Recently visited


New Features in Android Studio Preview

Android Studio 3.0 has been released to stable. Download it here.

The latest preview versions are Android Studio 3.1 in the Beta channel, and Android Studio 3.2 in the Canary and Dev channels. This page provides a summary of all the new features and changes.

For the latest news on releases, also see the Release Updates.

Android Studio 3.2

Android Studio 3.2 is currently available in the Canary and Dev channels, and includes the following updates.

New Code Shrinker

R8 is a new tool for code shrinking and obfuscation that replaces ProGuard. You can start using the preview version of R8 by including the following in your project’s file:

android.enableR8 = true

Changed default ABIs for multi-APKs

When building multiple APKs that each target a different ABI, the plugin no longer generates APKs for the following ABIs by default: mips, mips64, and armeabi.

If you want to build APKs that target these ABIs, you must use NDK r16b or lower and specify the ABIs in your build.gradle file, as shown below:

splits {
    abi {
        include 'armeabi', 'mips', 'mips64'

Improved editor features for CMake build files

If you use CMake to add C and C++ code to your project, Android Studio now includes improved editor features while you edit your CMake build scripts, such as:

Android Studio 3.1

Android Studio 3.1 is currently available in the Beta channel and includes the following updates.

New DEX compiler

By default, Android Studio 3.1 Canary 1 and higher use a new DEX compiler called D8, which was announced on the Android Developers Blog.

DEX compilation is the process of transforming .class bytecode into .dex bytecode for the Android Runtime (or Dalvik, for older versions of Android). Compared to the current compiler, called DX, D8 compiles faster and outputs smaller DEX files, all while having the same or better app runtime performance.

D8 shouldn't change your day-to-day app development workflow. However, if you experience any issues related to the new compiler, please report a bug. You can temporarily disable D8 and use DX by including the following in your project's file:


If you're using Android Studio 3.1 Canary 7 or higher, you can enable desugaring in-process, which helps decrease compile time for projects using Java 8 language features, by specifying the following in your project's file:


Updates to the Android Profilers

Depending on which Preview version you're using, Android Studio 3.1 includes the following updates to the Android Profilers.

Sample native processes with CPU Profiler

The CPU Profiler now includes a default configuration to record sampled traces of your app's native threads. You can use this configuration by deploying your app to a device running Android 8.0 (API level 26) or higher and then selecting Sampled (Native) from the CPU profiler's recording configurations dropdown menu. After that, record and inspect a trace as you normally would.

Remember, you can change default settings, such as the sampling interval, by creating a recording configuration. To switch back to tracing your Java threads, select either a Sampled (Java) or Instrumented (Java) configuration.

Filter CPU trace and memory allocation results

When using Android Studio 3.1 Canary 6 or higher, the CPU Profiler and Memory Profiler include a search feature that allows you to filter results from recording a method trace, memory allocations, or heap dump.

To enter a search query, click the icon at the top-right corner of the pane and then click on the search box. Type in your search query and press Enter.

Figure 1. Using the search function in the CPU Profiler trace pane.

Keep the following in mind while using this preview feature:

Request tab in the Network Profiler

The Network Profiler now includes a Request tab that provides details about network requests during the selected timeline.

Figure 2. Inspecting details about a network request in the new Request tab.

Thread View in the Network Profiler

After selecting a portion of the timeline in the Network Profiler, you can select one of the following tabs to see more detail about the network activity during that timeframe:

Updates to Lint

When you run lint from the command line, lint now also analyzes your Kotlin classes.

If you're running lint on a project that you created using an older version of Android Studio, you may encounter the following error:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintDebug'.
> Could not resolve all files for configuration ':app:_lintClassPath'.
   > Could not find<build_tools_version>.

To resolve this issue, for each project that you would like to run lint on, include Google's Maven repository in the top-level build.gradle file, as shown below:

allprojects {
    repositories {
        // The order in which you list these repositories matter.
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)