Android Studio is the official IDE for Android development, and includes everything you need to build Android apps.
To get the latest version, click Help > Check for update (on Mac, Android Studio > Check for updates).
Or you can download Android Studio here.
3.0 (October 2017)
Android Studio 3.0.0 is a major release that includes a variety of new features and improvements.
macOS users: If you are updating an older version of Android Studio, you may encounter an update error dialog that says "Some conflicts were found in the installation area". Simply ignore this error and click Cancel to resume the installation.
3.0.1 (November 2017)
This is a minor update to Android Studio 3.0 that includes general bug fixes and performance improvements.
Android Plugin for Gradle 3.0.0
The new Android plugin for Gradle includes a variety of improvements and new features, but it primarily improves build performance for projects that have a large number of modules. When using the new plugin with these large projects, you should experience the following:
- Faster build configuration times due to new delayed dependency resolution.
- Variant-aware dependency resolution for only the projects and variants you are building.
- Faster incremental build times when applying simple changes to code or resources.
This version also includes the following:
- Support for Android 8.0.
- Support for building separate APKs based on language resources.
- Support for Java 8 libraries and Java 8 language features (without the Jack compiler).
- Support for Android Test Support Library 1.0 (Android Test Utility and Android Test Orchestrator).
- Improved ndk-build and cmake build speeds.
- Improved Gradle sync speed.
- AAPT2 is now enabled by default.
- Using
ndkCompileis now more restricted. You should instead migrate to using either CMake or ndk-build to compile native code that you want to package into your APK. To learn more, read Migrate from ndkcompile.
For more information about what's changed, see the Android Plugin for Gradle Release Notes.
If you're ready to upgrade to the new plugin, see Migrate to Android Plugin for Gradle 3.0.0.
Kotlin support
As announced at Google I/O 2017, the Kotlin programming language is now officially supported on Android. So with this release, Android Studio includes Kotlin language support for Android development.
You can incorporate Kotlin into your project by converting a Java file to Kotlin (click Code > Convert Java File to Kotlin File) or by creating a new Kotlin- enabled project using the New Project wizard.
To get started, read how to add Kotlin to your project.

Java 8 language features support
You can now use certain Java 8 language features and consume libraries built with Java 8. Jack is no longer required, and you should first disable Jack to use the improved Java 8 support built into the default toolchain.
To update your project to support the new Java 8 language toolchain, update the Source Compatibility and Target Compatibility to 1.8 in the Project Structure dialog (click File > Project Structure). To learn more, read how to use Java 8 language features.

Android Profiler
The new Android Profiler replaces the Android Monitor tool and provides a new suite of tools to measure your app's CPU, memory, and network usage in realtime. You can perform sample-based method tracing to time your code execution, capture heap dumps, view memory allocations, and inspect the details of network-transmitted files.
To open, click View > Tool Windows > Android Profiler
(or click Android Profiler
in the toolbar).
The event timeline at the top of the window shows touch events, key presses, and activity changes so you have more context to understand other performance events in the timeline.

From the Android Profiler's overview timeline, click on the CPU, MEMORY, or NETWORK timelines to access the corresponding profiler tools.
CPU Profiler
The CPU Profiler helps you analyze the CPU thread usage of your app by triggering a sample or instrumented CPU trace. Then, you can troubleshoot CPU performance issues using a variety of data views and filters.
For more information, see the CPU Profiler guide.

Memory Profiler
The Memory Profiler helps you identify memory leaks and memory churn that can lead to stutter, freezes, and even app crashes. It shows a realtime graph of your app's memory use, lets you capture a heap dump, force garbage collections, and track memory allocations.
For more information, see the Memory Profiler guide.

Network Profiler
The Network Profiler allows you to monitor the network activity of your app, inspect the payload of each of your network requests, and link back to the code that generated the network request.
For more information, see the Network Profiler guide.

APK profiling and debugging
Android Studio now allows you to profile and debug any APK without having to build it from an Android Studio project—as long as the APK is built to enable debugging and you have access to the debug symbols and source files.
To get started, click Profile or debug APK from the Android Studio Welcome screen. Or, if you already have a project open, click File > Profile or debug APK from the menu bar. This displays the unpacked APK files, but it does not decompile the code. So, to properly add breakpoints and view stack traces, you need to attach Java source files and native debug symbols.
For more information, see Profile and Debug Pre-built APKs.

Device File Explorer
The new Device File Explorer allows you to inspect your connected device's filesystem, and transfer files between the device and your computer. This replaces the filesystem tool available in DDMS.
To open, click View > Tool Windows > Device File Explorer.
For more information, see the Device File Explorer guide.

Instant Apps support
New support for Android Instant Apps allows you to create Instant Apps in your project using two new module types: Instant App modules and Feature modules (these require that you install the Instant Apps Development SDK).

Android Studio also includes a new modularize refactoring action to help you add support for Instant Apps in an existing project. For example, if you want to refactor your project to place some classes in an Instant App feature module, select the classes in the Project window and click Refactor > Modularize. In the dialog that appears, select the module where the classes should go and click OK.
And when you're ready to test your Instant App, you can build and run your Instant App module on a connected device by specifying the Instant App's URL within the run configuration launch options: Select Run > Edit Configurations, select your Instant App module, and then set the URL under Launch Options.
For more information, see Android Instant Apps.
Android Things modules
New Android Things templates in the New Project and New Module wizards to help you start developing for Android-powered IOT devices.
For more information, see how to create an Android Things project.
Adaptive Icons wizard
Image Asset Studio now supports vector drawables and allows you to create adaptive launcher icons for Android 8.0 while simultaneously creating traditional icons ("Legacy" icons) for older devices.
To start, right-click on the res folder in your project, and then click New > Image Asset. In the Asset Studio window, select Launcher Icons (Adaptive and Legacy) as the icon type.
For more information, read about Adaptive Icons.

Support for font resources
To support the new font resources in Android 8.0, Android Studio includes a font resources selector to help bundle fonts into your app or configure your project to download the fonts on the device (when available). The layout editor can also preview the fonts in your layout.
To try downloadable fonts, ensure that your device or emulator is running Google Play Services v11.2.63 or higher. For more information, read about Downloadable Fonts.

Firebase App Indexing Assistant
The Firebase Assistant has been updated with a new tutorial to test App Indexing. To open the Assistant, select Tools > Firebase. Then select App Indexing > Test App Indexing.
The tutorial includes new buttons to test your public and personal content indexing:
- In step 2, click Preview search results to verify that your URLs are showing up in Google Search results.
- In step 3, click Check for errors to verify that the indexable objects in your app have been added to the personal content index.
Android App Links Assistant
The App Links Assistant has been updated with the following new capabilities:
-
Add URL tests for each URL mapping to be sure your intent filters handle real-world URLs.

You can also define these URL tests by hand using the
<tools:validation>tag described below. -
Create a Digital Asset Links file with the appropriate object entry to support Google Smart Lock, and add the corresponding
asset_statements<meta-data>tag to your manifest file.
URL intent-filter validator
Android Studio now supports a special tag in the manifest file that allows you to test your intent filter URLs. These are the same tags that the App Links Assistant can create for you.
To declare a test URL
for an intent filter, add a <tools:validation> element alongside the
corresponding <intent-filter> element. For example:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
Be sure to also include xmlns:tools="http://schemas.android.com/tools" in
the <manifest> tag.
If any one of the test URLs does not pass the intent filter definition, a lint error appears. Such an error still allows you to build debug variants, but it will break your release builds.

Layout Editor
The Layout Editor has been updated with a number of enhancements, including the following:
- New toolbar layout and icons.
- Updated layout in the component tree.
- Improved drag-and-drop view insertions.
- New error panel below the editor, showing all issues with suggestions to fix (if available).
- Various UI enhancements for building with
ConstraintLayout, including the following:- New support to create barriers.
- New support to create groups: In the toolbar, select Guidelines > Add Group (requires ConstraintLayout 1.1.0 beta 2 or higher)
- New UI to create chains: Select multiple views, and then right-click and select Chain.

Layout Inspector
The Layout Inspector includes enhancements to make it easier to debug issues with your app layouts, including grouping properties into common categories and new search functionality in both the View Tree and the Properties panes.

APK Analyzer
You can now use the APK Analyzer from the command line with the
apkanalyzer tool.
The APK Analyzer has also been updated with the following improvements:
- For APKs built with ProGuard, you can load ProGuard mapping files that add
capabilities to the DEX viewer, including:
- Bolded nodes to indicate that the nodes should not be removed when shrinking code.
- A button to show nodes that were removed during the shrinking process.
- A button that restores the original names of nodes in the tree view that were obfuscated by ProGuard.
- The DEX Viewer now shows the estimated size impact of each package, class and method.
- New filtering options at the top to show and hide fields and methods.
- In the tree view, nodes that are references not defined in the DEX file appear in italics.
For more information, see Analyze Your Build with APK Analyzer.
Preview for D8 DEX compiler
Android Studio 3.0 includes an optional new DEX compiler called D8. It will eventually replace the DX compiler, but you can opt-in to use the new D8 compiler now.
DEX compilation directly impacts your app's build time, .dex file
size, and runtime performance. And when comparing the new D8 compiler with the
current DX compiler, D8 compiles faster and outputs smaller .dex files, while
having the same or better app runtime performance.
To try it, set the following in your project's gradle.properties file:
android.enableD8=true
For more information, see the blog post about the D8 compiler.
Google's Maven repository
Android Studio now uses Google’s Maven Repository by default instead of depending on the Android SDK Manager to get updates for Android Support Library, Google Play Services, Firebase, and other dependencies. This makes it easier to keep your libraries up to date, especially when using a continuous integration (CI) system.
All new projects now include the Google Maven repository by default. To update
your existing project, add google() in the repositories block of the
top-level build.gradle file:
allprojects {
repositories {
google()
}
}
Learn more about Google's Maven repository here.
Other changes
- Native debugging with Android Studio no longer supports 32-bit Windows. We've chosen to focus on other platforms because very few developers are using this platform. If you are using 32-bit Windows and you plan to debug native code, you should keep using Android Studio 2.3.
- Upgraded the base IDE to IntelliJ 2017.1.2, which adds a number of new features from 2016.3 and 2017.1, such as Java 8 language refactoring, parameter hints, semantic highlighting, draggable breakpoints, instant results in search, and much more.
- Added many new lint checks.
- Also see the latest Android Emulator updates.
2.3 (March 2017)
Android Studio 2.3.0 is primarily a bug fix and stability release, but it also includes a number of new features.
2.3.3 (June 2017)
This is a minor update to add support for Android O (API level 26).
2.3.2 (April 2017)
This is a minor update to Android Studio 2.3 for the following changes:
- AVD Manager updates to support Google Play in system images.
- Bug fixes for NDK builds when using R14+ of the NDK.
Also see corresponding updates for Android Emulator 26.0.3.
2.3.1 (April 2017)
This is a minor update to Android Studio 2.3 that fixes an issue where some physical Android devices did not work properly with Instant Run (see Issue #235879).
New
- Android Studio can now convert PNG, BMP, JPG, and static GIF files to WebP format. WebP is an image file format from Google that provides lossy compression (like JPEG) as well as transparency (like PNG) but can provide better compression than either JPEG or PNG. For more information, see Convert Images to WebP in Android Studio.
- The new App Links Assistant simplifies the process of adding Android App Links to your app into a step-by-step wizard. Android App Links are HTTP URLs that bring users directly to specific content in your Android app.
- The Layout Editor now includes support for two new ConstraintLayout
features:
- Define a view size based on an aspect ratio.
- Create packed, spread, and weighted linear groups with constraint chains.
- The Layout Editor also now lets you create a list of favorite attributes so you don't have to click View all attributes to access the attributes you use most.
- When adding a material icon using the Vector Import Dialog (File > New > Vector Asset), you can now filter the list of available icons by category or by icon name. For more information, see Adding a material icon.
-
New and updated
annotations. The new
@RestrictToannotation for methods, classes, and packages lets you restrict an API. The updated@VisibleForTestingannotation now has an optionalotherwiseargument that lets you designate what the visibility of a method should be if not for the need to make it visible for testing. Lint uses theotherwiseoption to enforce the intended visibility of the method. - New lint baseline support allows you to use a snapshot of your project's current set of warnings as a baseline for future inspection runs so only new issues are reported. The baseline snapshot lets you start using lint to fail the build for new issues without having to go back and address all existing issues first.
- New lint checks, including the following:
- Obsolete
SDK_INTChecks: Android Studio removes obsolete code that checks for SDK versions. - Object Animator Validation: Lint analyzes your code to make sure that
your
ObjectAnimatorcalls reference valid methods with the right signatures and checks that those methods are annotated with@Keepto prevent ProGuard from renaming or removing them during release builds. - Unnecessary Item Decorator Copy: Older versions of the
RecyclerViewlibrary did not include a divider decorator class, but one was provided as a sample in the support demos. Recent versions of the library have a divider decorator class. Lint looks for the old sample and suggests replacing it with the new one. - WifiManager Leak: Prior to Android 7.0 (API level 24), initializing
the
WifiManagerwithContext.getSystemService()can cause a memory leak if the context is not the application context. Lint looks for these initializations, and if it cannot determine that the context is the application context, it suggests you useContext.getApplicationContext()to get the proper context for the initialization. - Improved Resource Prefix: The existing
resourcePrefixlint check had many limitations. You can now configure your project with a prefix, such asandroid { resourcePrefix 'my_lib' }, and lint makes sure that all of your resources are using this prefix. You can use variations of the name for styles and themes. For example for the my_lib prefix, you can have themes namedMyLibTheme,myLibAttr,my_lib_layout, and so on. - Switch to WebP: This check identifies images in your project that can
be converted to WebP format based on your project’s
minSdkVersionsetting. An associated quickfix can automatically convert the images, or you can convert images to WebP manually. - Unsafe WebP: If your project already includes WebP images, this check
analyzes your project to ensure that your
minSdkVersionsetting is high enough to support the included images. For more information about WebP support in Android and Android Studio, see Which browsers natively support WebP? and Create WebP Images Using Android Studio.
- Obsolete
Changes
- A separate button to push changes with Instant Run: After deploying your
app, you now click Apply Changes
to quickly push incremental changes to your running app using
Instant Run. The Run
and Debug
buttons are always available to you when you want to reliably push your
changes and force an app restart.
- Instant Run is supported only when deploying your app to a target device running Android 5.0 (API level 21) or higher.
- Instant Run is no longer disabled for projects that link to external native projects using CMake or ndk-build. However, you can only use Instant Run to push incremental changes to your Java code, not your native code.
- Cold swaps (which you can force for a running app by clicking
Run
) are now more reliable. Forcing a cold swap
also fixes the issue where changes to notification and widget UIs were
not updated on the target device.
- Includes optimizations that make app startup much faster. These optimizations may affect profiling, so you should temporarily disable Instant Run whenever profiling your app.
-
The AVD Manager
and SDK Manager
buttons are now included in the lean Navigation Bar as
well as the full Toolbar. To use the lean Navigation Bar, click
View to open the View menu, then ensure that Navigation Bar
is selected and Toolbar is not selected.
- The "Hybrid" debugger has been renamed to "Dual" debugger.
- In the Run/Debug
Configurations dialog, under Defaults in the left pane, the following run
configuration names have changed with no behavior changes:
- The JUnit name has changed to Android JUnit. If you have a project that uses JUnit run configurations, those configurations are transformed to Android JUnit run configurations the first time you open the project with Android Studio. A dialog appears to inform you of the name change.
- The Android Tests name has changed to Android Instrumented Tests.
- The GPU Debugger has been removed from Android Studio as of version 2.3. An open-source, standalone version of the tool is now available on GitHub.
- The Run/Debug option is no longer available when you right-click a
*.gradle buildscript. - All templates now use
ConstraintLayoutas the default layout. - The Widgets palette in the Layout Editor has been redesigned.
This release also includes a number of bug fixes. See all bug fixes in 2.3.0.
Known issue: Some device manufacturers block apps from automatically
launching after being installed on the device. When deploying your app to a
physical device using Android Studio 2.3, this restriction breaks the
intended behavior of Instant Run and causes the following error output:
Error: Not found; no service started. To avoid this issue,
either use the emulator or enable
automatic launching for your app in your device's settings. The proceedure
for doing this is different for each device, so check the instructions
provided by the manufacturer. For example, some affected Asus devices need to
whitelist apps using the Auto-start Manager. To learn
more about this issue, see Issue
#235879.
2.2 (September 2016)
2.2.3 (December 2016)
This is a minor update to Android Studio 2.2. It includes a bug fixes focused around gradle, the core IDE, and lint.
Highlighted build changes:
- ProGuard version rollback. Due to a correctness issue discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1. We have worked with the ProGuard team on getting a fix quickly, and we expect to roll forward to ProGuard 5.3.2 in Android Studio 2.3 Canary 3.
- Bug fix for
aaptOptionsIgnoreAssetsPatternnot working properly (issue 224167) - Bug fix for Gradle autodownload for Constraint Layout library (issue 212128)
- Bug fix for a JDK8/Kotlin compiler + dx issue (issue 227729)
2.2.2 (October 2016)
This is a minor update to Android Studio 2.2. It includes a number of small changes and bug fixes, including:
- When reporting Instant Run issues through the IDE, the report now also
includes logcat output for
InstantRunevents. To help us improve Instant Run, please enable extra logging and report any issues. - A number of small bug fixes for Gradle.
- A fix for problems with generating multiple APKs.
2.2.1 (October 2016)
This is a minor update to Android Studio 2.2. It includes several bug fixes and a new feature to enable extra logging to help us troubleshoot Instant Run issues—to help us improve Instant Run, please enable extra logging and report any issues.
New
- All new Layout Editor with tools custom-built to support ConstraintLayout.
- New Layout Inspector lets you examine snapshots of your layout hierarchy while your app is running on the emulator or a device.
- New Assistant window to help you integrate Firebase services into your app.
- New APK Analyzer tool so you can inspect the contents of your packaged app.
- New Espresso Test Recorder tool (currently in beta) to help you create UI tests by recording your own interactions.
- New build cache (currently experimental) to speed up build performance.
- New C/C++ build integration with CMake and ndk-build. Compile and build new or existing native code into libraries packaged into your APK, and debug using lldb. For new projects, Android Studio uses CMake by default, but also supports ndk-build for existing projects. To learn how to include native code in your Android application, read Add C and C++ Code to Your Project. To learn how to debug native code with lldb, see Debug Native Code.
- New Samples Browser so you can easily look up Google Android sample code from within Android Studio to jump start app development.
- New Merged Manifest Viewer to help you diagnose how your manifest file merges with your app dependencies across project build variants.
- The Run window now contains log messages for the current running app. Note that you can configure the logcat Monitor display, but not the Run window.
- New Android
Emulator features:
- Added new Virtual Sensors and Cellular > Signal Strength controls.
- Added an LTE option to the Cellular > Network type control.
- Added simulated vertical swipes for scrolling through vertical menus with a mouse wheel.
- New Run/Debug
Configuration features:
- The Debugger tab of the Android App and Android Tests templates now contain several new options for debugging with LLDB.
- The Profiling tab of the Android App and Android Tests templates now contain a Capture GPU Commands option for enabling GPU tracing. You can display GPU traces in the GPU Debugger (a beta feature).
- The Android Tests template now has a Firebase Test Lab Device Matrix option for the Deployment Target.
- The Native Application template has been deprecated. If you use this template in a project, Android Studio automatically converts it to the Android App template.
- The Android Application template has been renamed to Android App.
- Improved installation, configuration, performance, and UI features in the GPU Debugger (currently in beta).
- Android Studio now comes bundled with OpenJDK 8. Existing projects still use the JDK specified in File > Project Structure > SDK Location. You can switch to use the new bundled JDK by clicking File > Project Structure > SDK Location and checking the Use embedded JDK checkbox.
- Added new help menus and buttons in the UI so you can more easily find the online documentation.
Changes
- Updated the IDE codebase from IntelliJ 15 to IntelliJ 2016.1
- Instant Run now requires the platform SDK corresponding to the target device API level to be installed.
- Instant Run will automatically disabled if user is running the app under a work profile or as a secondary user.
- Fixed many reliability issues for Instant Run where changes
were not getting deployed or the app would crash:
- Some app assets were not deployed to your running app. ( Bug: #213454)
- App crashes when user transitions between Instant Run and non Instant Run sessions where a Serializable class does not have serialVersionUID defined. (Bug: #209006)
- Style changes aren’t reflected with Instant Run. (Bug: #210851)
- Instant Run session is unreliable and causes FileNotFoundException. (Bug: #213083)
- Changes to drawables not reflected until full rebuild is performed for KitKat. (Bug: #21530)
- Resource changes aren’t reflected with Instant Run when custom sourceSets contain nested paths. (Bug: #219145)
- Hot and warm swap don't work if changed class contains annotation with enum value. (Bug: #209047)
- Changes to annotation data not reflected with Instant Run. (Bug: #210089)
- Instant Run doesn't pick up code changes if you make changes outside the IDE. (Bug: #213205)
- Instant Run session is unreliable due to mismatch security token. (Bug: #211989
- Cold swap fails for devices that doesn’t properly support run-as. (Bug: #210875)
- App crash after instant run restart. (Bug: #219744)
- ClassNotFoundException observed when switching from Instant Run to Instant Debug. (Bug: #215805)
- Improved performance for Gradle sync within the IDE, especially for large projects.
- Improved build times for both full and incremental builds with new app packaging code.
- Improved Jack compiler performance and features, including support for annotation processors and dexing in process. To learn more, read the Android plugin for Gradle 2.2.0 release notes.
- Added an updated AccelerometerPlay sample so you can try out the emulator Accelerometer control. Select File > New > Import Sample to import the project.
- Removed the Scale AVD property from the AVD Manager.
- The Android Emulator -port and -ports command-line options now report which ports and serial number the emulator instance is using, and warn if there are any issues with the values you provided.
- Improved the Create New Class dialog and the corresponding file templates. Note: If you've previously customized the AnnotationType, Class, Enum, Interface, or Singleton file templates, you need to modify your templates to comply with the new templates or you won’t be able to use the new fields in the Create New Class dialog.
- Improved the Vector Asset Studio user interface and added support for Adobe Photoshop Document (PSD) files.
- Improved the Image Asset Studio user interface.
- Improved the Theme Editor's Resource Picker.
- Fixed memory leaks and reduced overall memory usage in Android Studio.
- Added a Background button in the SDK Manager so you can get back to work and install your packages in the background.
- Improved Accessibility features, including support for screen readers and keyboard navigation.
- Enhanced Code Analysis includes code quality checks for Java 8 language usage and more cross-file analysis.
- Several toolbar icons have changed.
2.1 (April 2016)
The primary changes in this update provide support for development with the Android N Preview.
2.1.3 (August 2016)
This update adds compatibility with Gradle 2.14.1, which includes performance improvements, new features, and an important security fix. For more details, see the Gradle release notes.
By default, new projects in Android Studio 2.1.3 use Gradle 2.14.1. For existing projects, the IDE prompts you to upgrade to Gradle 2.14.1 and Android plugin for Gradle 2.1.3, which is required when using Gradle 2.14.1 and higher.
2.1.2 (June 2016)
This update includes a number of small changes and bug fixes:
- Instant Run updates and bug fixes.
- Improvements to LLDB performance and crash notifications.
- Fixed a regression in the Android Studio 2.1.1 security update that
caused
git rebaseto fail.
2.1.1 (May 2016)
Security release update.
The Android N platform adds support for Java 8 language features, which require a new experimental compiler called Jack. The latest version of Jack is currently supported only in Android Studio 2.1. So if you want to use Java 8 language features, you need to use Android Studio 2.1 to build your app.
Note: Instant Run is disabled when you enable the Jack compiler because they currently are not compatible.
Although Android Studio 2.1 is now stable, the Jack compiler is still
experimental and you must enable it with the jackOptions
property in your build.gradle file.
Other than the changes to support the N Preview, Android Studio 2.1 includes minor bug fixes and the following enhancements:
<ul>
<li>The Java-aware C++ debugger is now enabled by default when you're
using an N device or emulator and select Native debugger mode (in the Debugger tab for your run/debug configuration).
For other build enhancements, including incremental Java compilation and dexing-in-process,update your Android plugin for Gradle to version 2.1.0.
2.0 (April 2016)
Note: If you are developing for the N Developer Preview, you should use Android Studio 2.1 Preview. Android Studio 2.0 does not support all the features required to target the N Preview. To learn more, read about how to properly set up your developer environment for the N Preview.
Instant Run:
- Android Studio now deploys clean builds faster than ever before. Additionally, pushing incremental code changes to the emulator or a physical device is now almost instantaneous. Review your updates without redeploying a new debug build or, in many cases, without restarting the app.
- Instant Run supports pushing the following changes to a running app:
- Changes to the implementation of an existing instance method or static method
- Changes to an existing app resource
- Changes to structural code, such as a method signature or a static field (requires a target device running API level 21 or higher).
- Read the documentation to learn more about Instant
Run.
Note: Instant Run is supported only when you deploy the debug build variant, use Android plugin for Gradle version 2.0.0 or higher, and configure your app's module-level
build.gradlefile forminSdkVersion 15or higher. For the best performance, configure your app forminSdkVersion 21or higher.
New additions to Lint:
- Inspection of
switchstatements using@IntDefannotated integers to make sure all constants are handled. To quickly add any missing statements, use the intention action drop-down menu and select Add Missing @IntDef Constants. - Flags for incorrect attempts to use string interpolation to insert
version numbers in the
build.gradlefile. - Flags for anonymous classes that extend the
Fragmentclass. - Flags for native code in unsafe locations, such as the
res/andasset/folders. This flag encourages storing native code in thelibs/folder, which is then securely packaged into the application’sdata/app-lib/folder at install time. AOSP: #169950 - Flags for unsafe calls to
Runtime.load()andSystem.load()calls. AOSP: #179980 - Find and remove any unused resources by selecting Refactor > Remove
Unused Resources from the menu bar. Unused resource detection now
supports resources only referenced by unused resources, references in raw
files such as
.htmlimage references, andtools:keepandtools:discardattributes used by the Gradle resource shrinker, while considering inactive source sets (such as resources used in other build flavors) and properly handling static field imports. - Checks that implicit API references are supported on all platforms
targeted by
minSdkVersion. - Flags improper usage of
RecyclerViewandParcelable. @IntDef,@IntRange, and@Sizeinspections are now also checked forintarrays and varargs.
Additional Improvements:
- Optimized for Android Emulator 2.0, which is faster than ever before, supports a wider range of virtual devices, and features a drastically improved UI. To learn more about the new emulator, read the SDK Tools release notes.
- Improvements to the Android Virtual Device
Manager:
- System images are now categorized under the following tabs: Recommended, x86, and Other.
- Under advanced settings, you can enable multi-core support and specify the number of cores the emulator can use.
- Under advanced settings, you can determine how graphics are rendered
on the emulator by selecting one of the following options:
- Hardware: use you computer's graphics card for faster rendering.
- Software: use software-based rendering.
- Auto: let the emulator decide the best option. This is the default setting.
- Improved AAPT packaging times by specifying deploy target before the app is built. This allows Android Studio to efficiently package only the resources required by the specified device.
- Added Cloud Test Lab integration to provide on-demand app testing with the convenience and scalability of a cloud service. Learn more about how you can use Cloud Test Lab with Android Studio.
- Added a preview of the new GPU Debugger. For graphics intensive applications, you can now visually step through your OpenGL ES code to optimize your app or game.
- Added Google App Indexing Test. Add support for URLs, app indexing, and search functionality to your apps to help drive more traffic to your app, discover which app content is used most, and attract new users. Test and validate URLs in your app all within Android Studio. See Supporting URLs and App Indexing in Android Studio.
- Upgrades from the latest IntelliJ 15 release, including improved code analysis and performance. See What's New in IntelliJ for a complete description of the new features and enhancements.
- XML editor auto-complete now adds quotations marks when completing attributes. To check if this option is enabled, open the Setting or Preferences dialogue, navigate to Editor > General > Smart Keys, and check the box next to Add quotes for attribute value on attribute completion. Issue: 195113
- The XML editor now supports code completion for data binding expressions.
Older Releases
Android Studio v1.5.1 (December 2015)
Fixes and enhancements:
- Fixed a rendering failure issue in the Layout Editor. Issue: 194612
- Added the ability to vary
descriptionmanifest attributes by configuration. Issue: 194705 - Improved the contrast of the Android Studio Darcula appearance theme in Vector Asset Studio. Issue: 191819
- Added Help button support to Vector Asset Studio.
- Added support for the
%operator for data binding. Issue: 194045 - Fixed a case where launching an app for debugging resulted in the debugger connecting to the wrong device. Issue: 195167
- Fixed a null pointer exception that could occur when attempting to run an app in certain scenarios.
Android Studio v1.5.0 (November 2015)
Fixes and enhancements:
- Added new Memory Monitor analysis abilities to Android Monitor. When you view an HPROF file captured from this monitor, the display is now more helpful so you can more quickly locate problems, such as memory leaks. To use this monitor, click Android Monitor at the bottom of the main window. In Android Monitor, click the Memory tab. While the monitor is running, click the Dump Java Heap icon, and then click Captures in the main window and double-click the file to view it. Click Capture Analysis on the right. (The Android Device Monitor can't be running at the same time as Android Monitor.)
- Added new deep link and app link support. The Code Editor can automatically create an
intent filter for deep linking in the
AndroidManifest.xmlfile. It can also generate code to help you integrate with the App Indexing API in an activity in a Java file. A deep link testing feature helps you verify that a specified deep link can launch an app. In the General tab of the Run/Debug Configurations dialog, you can specify deep link launch options. You can also test App Indexing API calls in an activity by using the Android Monitor logcat display. The Androidlinttool now has warnings for certain issues involving deep links and the App Indexing API. - Added the ability to use short names when code-completing custom views in the Code Editor.
- Added support for more
VectorDrawableelements to Vector Asset Studio for backward-compatibility. Vector Asset Studio can use these elements to convert vector drawables into PNG raster images to use with Android 4.4 (API level 20) and lower. - Added new
lintchecks for Android TV and Android Auto to give you immediate, actionable feedback in Android Studio, along with several quick fixes. For example, for Android TV, it can report and provide a quick fix for permissions, unsupported hardware,uses-featureelement, and missing banner issues. For Android Auto, it can validate the correct usage in the descriptor file referred from yourAndroidManifest.xmlfile, report if there isn't an intent filter for theMediaBrowserServiceclass, and identify certain voice actions issues. - Added new
lintchecks for insecure broadcast receivers,SSLCertificateSocketFactoryandHostnameVerifierclass uses, andFile.setReadable()andFile.setWritable()calls. It also detects invalid manifest resource lookups, especially for resources that vary by configuration. - Fixed a number of stability issues.
Android Studio v1.4.1 (October 2015)
Fixes and enhancements:
- Fixed a Gradle model caching issue that could lead to excessive Gradle syncing when the IDE was restarted.
- Fixed a native debugging deadlock issue.
- Fixed an issue blocking users of the Subversion 1.9 version control system.
- Fixed a Device Chooser dialog problem where after connecting a device that was unauthorized you could no longer select the emulator. Issue: 189658
- Fixed incorrect translation error reporting for locales that have a region qualifier and a translation in the region (but not in the base locale). Issue: 188577
- Fixed a deadlock issue in the Theme Editor related to its interaction with the Layout Editor. Issue: 188070
- Fixed a Theme Editor reload and edit conflict causing attributes to not properly update. Issue: 187726
- Improved Theme Editor performance.
- Fixed an issue where the
android:requiredattribute was ignored in the manifest. Issue: 187665
Android Studio v1.4.0 (September 2015)
Fixes and enhancements:
- Added the Vector Asset Studio tool for importing vector graphics, such as material icons and SVG files. To use this tool, in the Android view of the Project window, right-click the res folder and select New > Vector Asset.
- Added new Android Monitor functions, GPU and Network. To use these monitors, click Android Monitor at the bottom of the main window. The Android Device Monitor can't be running at the same time as Android Monitor.
- Added an early preview of the new Theme Editor. To use this feature, select Tools > Android > Theme Editor.
- Updated the Android templates for the Design Support Library. Templates now include support
for the Material Design specification, as well as the
appcompatSupport Library for backwards compatibility.
Android Studio v1.3.2 (August 2015)
Fixes and enhancements:
- Added support for Android 6.0 (API level 23), including new icons and AVD Manager support for creating devices with new screen densities.
- Fixed an exception that was occurring during update checks. Issue: 183068
- Fixed problem where unresolved view coordinates could cause the layout editor to crash. Issue: 178690
- Fixed issue with invalid resource type warnings. Issue: 182433
- Fixed lint check that was incorrectly flagging resources as private. Issue: 183120
Android Studio v1.3.1 (August 2015)
Fixes and enhancements:
- Fixed support for creating an Android Wear Android Virtual Device (AVD) on Windows.
- Updated the Project Wizard to use the entered project name.
- Added support to allow the Android SDK to be stored in a read-only directory.
- Updated Android plugin for Gradle version to 1.3.0.
- Fixed issues with launching a debug session from the Android Debug Bridge (adb) Unix shell.
- Fixed the Java package renaming message to show the correct package name.
Android Studio v1.3.0 (July 2015)
Fixes and enhancements:
- Added options to enable developer services, such as AdMob and Analytics, in your app from within Android Studio.
- Added additional annotations,
such as
@RequiresPermission,@CheckResults, and@MainThread. - Added the capability to generate Java heap dumps and analyze thread allocations from the Memory Monitor. You can also convert Android-specific HPROF binary format files to standard HPROF format from within Android Studio.
- Integrated the SDK Manager
into Android Studio to simplify package and tools access and provide update notifications.
Note: The standalone SDK Manager is still available from the command line, but is recommended for use only with standalone SDK installations.
- Added the
fingercommand in the emulator console to simulate fingerprint authentication. - Added a
<public>resource declaration to designate library resources as public and private resources.Note: Requires Android plugin for Gradle version 1.3 or higher.
- Added data binding support to create declarative layouts that bind your application logic to layout elements.
- Added support for a separate test APK module to build test APKs in Android Studio.
- Updated the AVD Manager with HAXM optimizations and improved notifications.
- Added 64-bit ARM and MIPS emulator support for QEMU 2.1.
- Simplified the resolution of Lint warnings by adding quick fixes, such as the automatic generation of Parcelable implementation.
- Added live template support for quick insertion of code snippets.
Android Studio v1.2.2 (June 2015)
Fixes and enhancements:
- Fixed build issues that were blocking builds from completing.
Android Studio v1.2.1 (May 2015)
Fixes and enhancements:
- Fixed minor performance and feature issues.
Android Studio v1.2.0 (April 2015)
Fixes and enhancements:
- Updated the Android runtime window to include the Memory Monitor tool and added a tab for CPU performance monitoring.
- Added a Captures tab in the left margin to display the captured memory and CPU performance data files, such as CPU method tracking and memory heap snapshots.
- Expanded annotation support with additional metadata annotations and inferred nullability.
- Enhanced the Translations Editor with additional support for Best Current Practice (BCP) 47, which uses 3-letter language and region codes.
- Integrated IntelliJ 14 and 14.1 features for improved code analysis and performance:
-
- Enhanced debugging to show inline values for variables and referring objects, as well as perform inline evaluation of lambda and operator expressions.
- Added code style detection for tab and indent sizes.
- Added scratch files for code experiments and prototyping without project files.
- Added the simultaneous insertion of opening and closing tags in HTML and XML files.
- Added a built-in Java class decompiler so you can look at what’s inside a library for which the source code is not available.
See What's New in IntelliJ for a complete description of the new features and enhancements.
- Added additional Project Views for Scratches, Project Files, Problems, Production, and Tests to enhance project management and access.
- Enhanced the File > Settings menu and dialogs for improved settings access and management.
- Added support for high-density displays for Windows and Linux.
- Added support for 280 dpi resources in the
res/drawable-280dpi/folder.
Android Studio v1.1.0 (February 2015)
Various fixes and enhancements:
- Added support for the Android Wear watch template.
- Modified new project and module creation to include
res/mipmapfolders for density-specific launcher icons. Theseres/mipmapfolders replace theres/drawablefolders for launcher icons. - Updated launcher icons to have a
Material Design look and added an
xxxhdpilauncher icon. - Added and enhanced Lint checks for region and language combinations, launcher icons, resource names, and other common code problems.
- Added support for Best Current Practice (BCP) language tag 47.
Android Studio v1.0.1 (December 2014)
Various fixes and enhancements:
- Fixed AVD Manager and device.xml file lock issue.
- Fixed the emulator log on Windows systems.
- Fixed issue with creating AVDs with Android Studio and Android SDK installed on different drives on Windows systems.
- Sets the default update channel for new downloads to Stable. If you installed the 1.0.0 version of Android Studio and would like stable, production-ready version updates, use File > Settings > Updates to change to the Stable update channel.
Android Studio v1.0 (December 2014)
Initial release of Android Studio.
Android Studio v0.8.14 (October 2014)
See tools.android.com for a full list of changes.
Android Studio v0.8.6 (August 2014)
See tools.android.com for a full list of changes.
Android Studio v0.8.0 (June 2014)
Added support for Android Wear projects.
See tools.android.com for a full list of changes.
Android Studio v0.5.2 (May 2014)
- See tools.android.com for a full list of changes.
Android Studio v0.4.6 (March 2014)
- See tools.android.com for a full list of changes.
Android Studio v0.4.2 (Jan 2014)
- See tools.android.com for a full list of changes.
Android Studio v0.3.2 (Oct 2013)
- See tools.android.com for a full list of changes.
Android Studio v0.2.x (July 2013)
- Merged in the latest IntelliJ codebase changes. Includes fixes for issues reported by Studio users such as tweaks to Linux font sizes and font rendering.
- Android Gradle plug-in updated to 0.5.0.
Caution: This new version is not backwards compatible. When opening a project that uses an older version of the plug-in, Studio will show an error stating Gradle <project_name> project refresh failed.
The updated Gradle plug-in includes the following changes:
- Fixed IDE model to contain the output file even if it's customized through the DSL. Also
fixed the DSL to get/set the output file on the variant object so that it's not necessary to
use
variant.packageApplication or variant.zipAlign - Fixed dependency resolution so that we resolved the combination of (default config, build types, flavor(s)) together instead of separately.
- Fixed dependency for tests of library project to properly include all the dependencies of the library itself.
- Fixed case where two dependencies have the same leaf name.
- Fixed issue where Proguard rules file cannot be applied on flavors.
All Gradle plugin release notes are available are here: http://tools.android.com/tech-docs/new-build-system.
- Fixed IDE model to contain the output file even if it's customized through the DSL. Also
fixed the DSL to get/set the output file on the variant object so that it's not necessary to
use
- Gradle errors from aapt no longer point to merged output files in the build/ folder, they point back to the real source locations.
- Parallel Builds. It's now possible to use Gradle's parallel builds. Please be aware that parallel builds are in "incubation" (see Gradle's documentation.) This feature is off by default. To enable it, go to Preferences > Compiler and check the box Compile independent modules in parallel.
- Further work on the new resource repository used for layout rendering, resource
folding in the editor, and more:
- Basic support for .aar library dependencies (e.g. using a library without a local copy of the sources). Still not working for resource XML validation and navigation in source editors.
- Cycle detection in resource references.
- Quick Documentation (F1), which can show all translations of the string under the caret, will now also show all resource overlays from the various Gradle flavors and build types, as well as libraries. They are listed in reverse resource overlay order, with strikethrough on the versions of the string that are masked.
- Fixes to handle updating the merged resources when the set of module dependencies change.
- XML rendering fixes to properly handle character entity declarations and XML and unicode escapes.
- Save screenshot support for the layout preview and layout editor windows.
- Template bug fixes.
- Lint bug fixes.
- Various fixes for crash reports. Thank you, and keep filing crash reports!
Android Studio v0.1.x (May 2013)
- Various bug fixes, including a fix for a common Windows installation issue.
Troubleshooting
If you encounter problems in Android Studio, check the Known Issues or Troubleshoot page.