Android Studio Changelog

What's new in Android Studio 2022.3.1.18

Jul 26, 2023
  • Use Live Edit to update composables in real time
  • New UI theme
  • Support for Grammatical Inflection API
  • Automatic per-app language support
  • New API support for Compose Animation Preview
  • View and manage processes in the Device Explorer
  • New Android SDK Upgrade Assistant
  • Support for Gradle Version Catalogs
  • Enhanced diagnostic tools and bug reporting
  • Make Selected Modules toolbar button
  • Download info during sync
  • Android Lint contains bytecode targeting JVM 17
  • Native library compression setting moved to DSL

New in Android Studio 2022.1.1.20 (Feb 2, 2023)

  • Fixed issues:
  • Android Gradle Plugin:
  • Issue #242831042:
  • Migrate from destination property to outputLocation property to address deprecation warning and prepare for Gradle 9.0
  • Issue #261329823:
  • AGP 7.4.0-rc01 breaks Variant API with "Querying the mapped value of map(provider(java.util.Set)) before task '...' has completed is not supported"
  • Installer:
  • Issue #265309504:
  • Android Studio Electric Eel | 2022.1.1 can't open Windows 11
  • Logcat:
  • Issue #263475910:
  • Cannot type @ (conflict from logcat shortcut)

New in Android Studio 2022.1.1.19 (Jan 13, 2023)

  • SDK insights:
  • View dependency insights from the new Google Play SDK Index, a public portal with information about popular dependencies, or SDKs. If a specific version of a library has been marked as outdated by its author, a corresponding Lint warning appears when viewing that dependency definition. This enables you to discover and update dependency issues during development instead of later when you go to publish your app on the Play Console. You can learn more about this new tool on the Android Developer's Blog post here.
  • App Quality Insights from Firebase Crashlytics:
  • Starting with Android Studio Electric Eel, you can see and act on app crash data from Firebase Crashlytics directly in the IDE. This integration pulls stack trace data and crash statistics from Crashlytics into the new App Quality Insights tool window in the IDE, so you don't have to jump back and forth between your browser and the IDE. Development teams can benefit from key capabilities including the following:
  • See lines in your code highlighted when they have related Crashlytics event data.
  • See the stack trace for top crashes and click on the stack trace to jump to the relevant lines in your code.
  • See summary statistics about top crash and non-fatal events, for example grouped by device manufacturer and Android version.
  • Filter events by severity, time, and app version.
  • Get a browser link that opens the Crashlytics dashboard page with more details about the event.
  • With the Android Studio and Crashlytics integration, you can write code and address top crash issues all in the same spot. This enriched development experience helps you stay informed about your app's performance and minimize disruptions for your users. If you encounter any issues with this feature, file a bug.
  • If you're not using Crashlytics yet and would like to learn more about its offerings, see Firebase Crashlytics.
  • Navigate Crashlytics data in Android Studio:
  • The App Quality Insights tool window has rich data that gives you insight into the events your users are encountering, and links to help you quickly navigate to the sources of those events.
  • App Quality Insights tool window:
  • If your project includes multiple app modules, make sure the module you want to see event data for is selected from the module dropdown menu.
  • Use the application ID dropdown menu to select the app ID you want to analyze. For example, while you might work on the debug version of your app in the IDE, you might want to see event data for your production version of your app that your users install.
  • The Issues panel shows the top events that Crashlytics has data for, and is sorted by your most impactful crashes.
  • The Sample Stack Trace panel shows details about the latest occurrence of the event you click on in the Issues panel. You can see the event's stack trace and click on the stack trace to jump to the relevant lines in your code base.
  • There is also information about the device type affected, its Android version, and the time the event occurred, as well a link to the event in the Firebase Crashlytics dashboard. The dashboard is useful if you want to dive deeper and inspect additional stack traces, trends, and custom logs.
  • The Details panel breaks down the crash counts by device type and Android version, so you can determine which user groups are most affected. It also shows which app version(s) experienced the crash and the number of users affected.
  • Use the severity filters to select or deselect events that are Fatal or Non-Fatal .
  • Use the time range and app version filters to hone in on certain subsets of events.
  • In addition to being able to navigate from stack trace to code, you can also jump from code to stack trace: Android Studio now highlights lines of code that are related to crashes so you can easily spot and debug them.
  • Resizable emulator:
  • You can now test your app on multiple screen sizes and with a single resizable emulator. Testing on a single resizable emulator not only allows you to rapidly test changes across different interfaces, but also promotes a smoother development experience by saving the compute resources and memory that would be required to maintain separate virtual devices.
  • To use the resizable emulator, you need Android Emulator version 31.1.3 or higher. To upgrade versions, go to Tools > SDK Manager. To create a resizable Android Virtual Device (AVD), follow these steps:
  • In the create device flow, select the Resizable (Experimental) phone hardware profile.
  • Download the Android Tiramisu system image.
  • Follow the prompts to create the AVD.
  • When you deploy your app to the resizable emulator, use the Display Mode dropdown in the emulator toolbar to quickly toggle between a set of common device types. The emulator screen resizes so you can easily test your app across a range of screen sizes and densities.
  • Visual linting for Views:
  • Android Studio now automatically runs your layout to check for visual lint issues across different screen sizes for layouts written in Views. When you open Layout Validation, you can see all your layouts render in multiple device sizes. If there's an issue, it appears in the Problems panel, which is designed to show all issues within design tools.
  • Device mirroring:
  • You can now mirror your device in the Running Devices window in Android Studio Electric Eel. By streaming your device's display directly to Android Studio, you can execute common actions such rotating the screen, changing the volume, or locking/unlocking the device right from the IDE itself.
  • Device mirroring is available in the Electric Eel Canary channel as an experimental feature. To turn it on manually, navigate to File > Settings > Experimental (Android Studio > Preferences > Experimental on a Mac), and check the box next to Device Mirroring.
  • AGP Upgrade Assistant post-upgrade report and rollback functionality:
  • The AGP Upgrade Assistant now includes a post-upgrade report. This report describes the steps that were completed and if the upgrade was successful or unsuccessful. It also includes an action to revert changes that were made by the upgrade assistant, if there are issues building or testing the project after the upgrade.
  • Updates to Logcat:
  • The Logcat window UI
  • In Android Studio Electric Eel, the new version of Logcat is enabled by default to make it easier to parse, query, and keep track of logs. This represents the most significant update to the tool since its introduction, so read View logs with Logcat for more details on how to use the new functionality and query syntax.
  • Desktop Android Virtual Device now available:
  • You can now test how your app works on desktop devices such as Chromebooks by using a Desktop Android Virtual Device (AVD). Users often interact with apps differently on large screen devices, and the Desktop AVD enables you to see how your app behaves in this environment. Here are some of the unique functionalities you can test:
  • App resizing: resize your app by dragging the window edges.
  • Freeform window management: place your app in various places on the desktop screen, and minimize, maximize, and restore the app window.
  • Notifications - check that the notifications render correctly when pulled up from the system tray on the desktop.
  • Check download impact using Build Analyzer:
  • Build Analyzer now provides a summary of time spent downloading dependencies and a detailed view of downloads per repository. You can use this information to determine whether unexpected dependency downloads are negatively impacting your build performance. This is especially important during incremental builds, which shouldn't consistently download artifacts.
  • Specifically, you can use this information to identify configuration issues, such as use of dynamic versions of dependencies that cause unexpected downloads. Also, if you see a high number of failed requests for a specific repository, it could indicate that the repository should be removed or moved lower in your repository configuration.
  • Layout Inspector recomposition rendering highlights:
  • In Android Studio Electric Eel, your recompositions are highlighted to help you determine where in the UI your composables are recomposing. The highlighted portion shows a gradient overlay of the composable in the image section of the Layout Inspector, and gradually disappears so that you can get an idea of where in the UI the composable with the highest recompositions can be found. If one composable is recomposing at a higher rate than another composable, then the first composable receives a stronger gradient overlay color. For more details, see Compose recomposition counts in Layout Inspector.
  • Universal Problems panel:
  • You can now view all the issues for your design tools in a shared issue panel. To view the tool window, navigate to View > Tool Windows > Problems.
  • Live updates to your Compose Preview:
  • Starting with Android Studio Electric Eel, you can see immediate updates to your Preview changes as you make them. For more information, see Composable Preview.
  • Use Compose Preview with different devices:
  • In Android Studio Electric Eel, you can edit the device parameter of the Preview annotation to define configurations for your Composables in different devices. For more details, see Use with different devices.
  • Android Gradle plugin and Android Studio compatibility:
  • The Android Studio build system is based on Gradle, and the Android Gradle plugin adds several features that are specific to building Android apps. The following table lists which version of the Android Gradle plugin is required for each version of Android Studio.

New in Android Studio 2021.3.1.16 (Sep 16, 2022)

  • New in Compose:
  • The following are new features and improvements to Jetpack Compose in Android Studio.
  • Compose Animation Coordination:
  • If your animations are described in a composable preview, you can now use Animation Preview to inspect and coordinate all of them at once. You can also freeze a specific animation.
  • Compose Multipreview Annotations:
  • You can now define an annotation class that includes multiple Preview definitions and use that new annotation to generate those previews at once. Use this new annotation to preview multiple devices, fonts, and themes at the same time—without repeating those definitions for every single composable.
  • Compose Recomposition Counts in Layout Inspector:
  • When debugging your Compose layouts, knowing when composables do or do not recompose is important in understanding whether your UI is implemented properly. For example, if it's recomposing too many times, your app might be doing more work than is necessary. On the other hand, components that do not recompose when you expect them to can lead to unexpected behaviors.
  • The Layout Inspector now allows you to see when discrete composables in your layout hierarchy have either recomposed or skipped. This information is shown live, while you interact with your app. To get started, make sure your app is using Compose 1.2.0-alpha03 or higher. Then deploy your app as you normally would.
  • Open the Layout Inspector window and connect to your app process. In the Component Tree, you should see two new columns appear next to the layout hierarchy. The first column show the number of compositions for each node. The second columns displays the number of skips for each node. You can also see similar information in the Attributes pane when you select a composable from the Component Tree or the Layout Display.
  • If you want to reset the count, click Reset near the top of the Component Tree panel. Resetting the count can help you understand recompositions or skips during a specific interaction with your app.
  • Updated Wear OS emulator pairing assistant:
  • Starting with Android Studio Dolphin Canary 3, the Wear OS emulator pairing assistant has improved features that make it easier to manage and connect Wear emulators. You can now do the following:
  • See Wear devices in the Device Manager.
  • Pair multiple Wear devices with a single virtual or physical phone.
  • Automatically reconnect previously paired devices when they’re launched. Android Studio now remembers and re-pairs the last pair set up.
  • To use these new features, make sure your phone emulators are API level 30 or higher and have the Google Play Store installed. Also, make sure your Wear emulators are API level 28 or higher. To upgrade to the latest system images for your emulated devices, go to Tools > SDK Manager.
  • Updated Wear OS emulator toolbar:
  • Starting with Android Studio Dolphin Canary 2, for Wear emulators with API level 28 or higher, the emulator toolbar now has buttons that simulate the physical buttons and common actions on the device. The new buttons are: Button 1 and Button 2 (Button 2 is only available on API level 30 or higher), the Palm button, and the Tilt button. Here are some of the actions you can do using the new buttons on your Wear emulator:
  • To set your device to ambient mode, click the Palm button.
  • To return your device to the last screen it was on before ambient mode, click the Tilt button.
  • New Wear OS run configurations:
  • New run configurations have been added to quickly run and debug surfaces specific to Wear OS like watch faces, Tiles, and complications. You can create these new configurations from the Run/Debug Configurations dialog when running your application.
  • New Logcat:
  • Logcat has been updated to make it easier to parse, query, and track logs.
  • New formatter:
  • Logcat now formats logs to make it easier to scan useful information, such as tags and messages, and identify different types of logs, such as warnings and errors.
  • Create multiple Logcat windows:
  • You can now create multiple tabs within Logcat, so that you can easily switch between different devices or queries. Right-clicking a tab allows you to rename it, and you can click and drag to rearrange the tabs.
  • Additionally, to help you more easily compare between two sets of logs, you can now split the view within a tab by right-clicking in the log view and selecting either Split Right or Split Down. To close a split, right-click and select Close. Each split allows you to set its own device connection, view options, and query.
  • Switch between view presets:
  • Logcat now allows you to quickly switch between different view modes—Standard, Compact, and Custom—by clicking View mode selector. Each view mode provides a different default setting for showing you more or less information, such as timestamps, tags, and process IDs (PID). You can also customize each of these default view modes, as well as a custom view mode, by selecting Modify View.
  • New key-value search:
  • In the previous version of Logcat, you had the option to either use string search (with support for regular expressions) or create a new filter by populating various fields using the Logcat UI. The first option made search more complex and the second option made sharing and setting up queries more difficult. We’ve now simplified the experience by introducing key-value searches right from the main query field.
  • Screenshot of new query syntax with auto-complete:
  • This new query system provides the accuracy of what you want to query, without relying on regular expressions, with the ability to recall past queries from history, and share those queries with others. Additionally, you still have the option to use RegEx and also exclude logs based on key-values.
  • You can also see a history of queries by clicking Query history selector in the query field and selecting them from the drop down. To favorite a query so that it stays at the top of the list across all your studio projects, click the Favourite query at the end of the query field.
  • Track logs across app crashes/restarts:
  • The new Logcat now makes it easier to track logs from your app across app crashes and restarts, so that you don’t miss important logs across these events. When a Logcat notices that your app process has stopped and restarted you’ll see a message in the output—such as PROCESS ENDED and PROCESS STARTED.
  • And, restarting Logcat preserves your session configuration, such as tab splits, filters, and view options, so that you can continue your session easily.
  • Gradle Managed Devices
  • In order to improve consistency, performance, and reliability when using Android Virtual Devices for your automated instrumented tests, we’re introducing Gradle Managed Devices. This feature, available for API levels 27 and higher, allows you to configure virtual test devices in your project's Gradle files. The build system uses the configurations to fully manage—that is, create, deploy, and tear down—those devices when executing your automated tests.
  • This feature grants Gradle visibility into not only the tests you’re running, but also the lifecycle of the devices, thus improving the quality of your testing experience in the following ways:
  • Handles device-related issues in order to ensure your tests are executed
  • Utilizes emulator snapshots to improve device startup time and memory usage, and restore devices to a clean state between tests
  • Caches test results and reruns only tests that are likely to provide different results
  • Provides a consistent environment for running your tests between local and remote test runs
  • Additionally, Gradle Managed Devices introduce a new type of Emulator device, called Automated Test Devices (ATD), that are optimized to improve performance when running your instrumentation tests. Combined with support for test sharding, you can experiment with splitting your test suite across multiple ATD instances in order to reduce overall test execution time. To learn more about Gradle Managed Devices and its associated features, see Scale your tests with Gradle Managed Devices.
  • R8 support using mapping files based on DEX instruction offsets:
  • When optimizing line information, R8 can now encode the information in shared debug information objects with line tables based on instruction offsets. This substantially reduces the overhead of line information. The effect is that lines in methods are no longer consecutive but might jump at intervals depending on the size of the instructions. Note that some tooling does not consider this shared encoding.
  • In addition, Android VMs starting from O (API Level 26) support printing instruction offsets in stack traces if the method has no line number information. When compiling with minSdk 26 or higher, and with no source file information, R8 strips the line number information completely.
  • Stateless lambdas are no longer desugared as singletons:
  • Stateless lambdas are no longer allocated as singletons when desugaring. The representation as singletons adds code size overhead due to the added field and class initializer, as well as startup overhead, due to static class initialization. Stateless lambdas are now allocated at use sites the same way stateful lambdas (lambdas with captures) are.
  • R8 avoids verification slowdown on Android runtimes:
  • To eliminate performance issues on Android runtimes (Dalvik and ART), R8 (not D8) now introduces library stubs and outline calls to library methods for library classes and methods that might not exist at runtime. Doing so eliminates many verification issues and improves runtime performance. This feature is always enabled.
  • Support for JDK-11 APIs with Java 8+ API desugaring:
  • When using the coreLibraryDesugaring dependency there is now support for an implementation library based on JDK-11. See thedesugar_jdk_libs change log for more information.
  • Android Gradle plugin and Android Studio compatibility:
  • The Android Studio build system is based on Gradle, and the Android Gradle plugin adds several features that are specific to building Android apps. The following table lists which version of the Android Gradle plugin is required for each version of Android Studio.

New in Android Studio 2021.2.1.16 (Aug 4, 2022)

  • Android Gradle Plugin:
  • Issue #232438924: AndroidGradlePlugin version 7.2 breaks transform API when used along with ASM API
  • Issue #231037948: AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
  • C++ Debugger:
  • Issue #37119428: Release version of a native library from a dependent project gets packaged even for a debug build variant
  • Design Tools:
  • Issue #232045613: Ctrl + D or “show diff” button doesn't show git diff
  • Dexer (D8):
  • Issue #235325369: Document the compiler version required for each desugared library version
  • Gradle:
  • Issue #188871862: Lint UnusedResources False Positive with Import Alias
  • Import/Sync:
  • Issue #234353685: Build problem with multiple product flavours in new version
  • Shrinker (R8):
  • Issue #236875523: ArrayIndexOutOfBoundsException in IntSwitch
  • Issue #236618700: R8 3.1.7-dev and above improperly optimizes Enums, leading to NoSuchFieldError
  • Issue #223424356: R8 causing VerifyError on Scala libraries
  • Issue #232379893: Gradle 7.2.0 causing APK build error com.android.tools.r8.CompilationFailedException
  • Issue #236615030: NPE in shrinker, R8 version 3.2.60
  • Issue #236294139: [R8 3.3.57] NoClassDefFound due to interface replaced with abstract class with higher SDK requirements
  • Issue #231030461: NullPointerException in FieldAssignmentTracker using 3.3.35

New in Android Studio 2021.2.1.15 (May 26, 2022)

  • Android App Bundles:
  • Issue #230361284: bundletool does not package baseline profiles correctly
  • Dexer (D8):
  • Issue #218298666: Art / Dalvik VMs prior to version 8 does not support the fix for JDK-8272564
  • IntelliJ:
  • Issue #225751091: File watcher failed to start on Ubuntu 20.04
  • Issue #206465485: MBP 15" 2018 Touch Bar menu is missed.
  • Run:
  • Issue #232134751: Devices option is not visible and unable to run the app even though app module is available.
  • Shrinker (R8):
  • Issue #228791247: Why does R8 doesn't backport default interface methods but D8 does?
  • Issue #218400336: CIRCULAR REFERENCE: com.android.tools.r8.internal.R10: Unexpected type in conversion to primitive: OBJECT

New in Android Studio 2021.2.1.14 (May 10, 2022)

  • Support for creating your app with Jetpack Compose:
  • Animation Preview supports animatedVisibility:
  • Android Studio Chipmunk supports the animatedVisibility API in Animation Preview. To use Animation preview with animatedVisibility, use Compose version 1.1.0 or higher. To learn more about Animation Preview, see Animations.
  • Support for deploying preview from Library Modules:
  • Previews allow you to view your UI within Android Studio without having to run your app on a physical device. In Android Studio Chipmunk, you can deploy a specific @Preview to an emulator or physical device from Library Modules. To learn more, see Deploy Preview.
  • Support for profiling your app:
  • Detect jank on Android 12 and higher:
  • For devices using Android 12 or higher, a captured trace is shown in the Janky frames track under the Display pane in the CPU Profiler.

New in Android Studio 2021.1.1.23 (Apr 8, 2022)

  • General fixes and features:
  • This update includes fixes for the following issues:
  • Android Gradle plugin:
  • Issue #223365583: Duplicate class issues reported by R8
  • Build Variants:
  • Issue #158597249: versionNameSuffix no longer works if the variant's version name is set via the new onVariants API
  • Compose Preview:
  • Performance and stability related bug fixes.
  • Solve freeze that occurred occasionally when using the Live Edit of Literals feature.
  • Network Inspector:
  • Issue #219563755: New Network inspector crashes after Bumblebee update
  • Issue #220807361: I am constantly getting this error when the debugger is connected on the latest version of Android Studio.
  • Issue #219572925: TrackedHttpURLConnection.getHeaderField crashes with NullPointerException

New in Android Studio 2021.2.1 Beta 4 (Mar 13, 2022)

  • General fixes and features:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #207670704: AGP 7.2.0-alpha05 breaks builds that use the Navigation Safe Args plugin
  • Issue #204328120: Vague error for invalid values.xml file
  • Issue #218370114: "Java file outside of source root" when using manifest.srcFile
  • Issue #210484302: Android studio 2021.1.1 beta5 . Gradle sync fails with "Unable to load class 'com.android.build.api.extension.AndroidComponentsExtension'."
  • Issue #196226533: AGP should not use ProjectComponentIdentifier.projectPath without ProjectComponentIdentifier.build
  • Issue #203003899: AGP looks for ANDROID_SDK_ROOT, not ANDROID_HOME
  • Build Variants:
  • Issue #158597249: versionNameSuffix no longer works if variant's version name is set via the new onVariants API
  • Compose Editing:
  • Issue #153769933: Import Auto-completion does type completion instead
  • Emulator:
  • Issue #220022493: UnsatisfiedLinkError: Unable to find image_converter.dll
  • Lint:
  • Issue #219645755: @TargetApi annotations are enforced on callers
  • Issue #219091668: Android lint NewApi regression
  • Navigation:
  • Issue #213086135: SafeArgs 2.4.0-rc01 and AGP 7.1.0-rc01 incompatible
  • Issue #159542337: Safe Args used deprecated getApplicationIdTextResource with AGP 4.1+
  • Network Inspector:
  • Issue #217765670: Network Inspector in BumbleBee doesn't show the api response in readable format
  • Issue #219572925: TrackedHttpURLConnection.getHeaderField crashes with NullPointerException
  • Issue #220807361: I am constantly getting this error when the debugger is connected on the latest version of Android Studio.
  • Issue #219563755: New Network Inspector crashes after Bumblebee update
  • New Code/Templates:
  • Issue #117641634: Bug of error message: Argument for @NotNull parameter 'text2' of com/intellij/diff/comparison/ComparisonManagerImpl.isEquals must not be null

New in Android Studio 2021.1.1.21 (Feb 6, 2022)

  • Emulator:
  • Unable to connect to embedded emulator after upgrading to Bumblebee (Mac M1)
  • IntelliJ:
  • Env variables not sourced when launched from Mac OS X Monterey Dock

New in Android Studio 2021.1.1 (Jan 26, 2022)

  • Support for KMP test execution:
  • You can run tests for Kotlin Multiplatform (KMP) projects from Android Studio Bumblebee.
  • In order to ensure your tests run successfully from Android Studio, make sure you have all the requirements below:
  • AGP 7.0.0-alpha08 or higher
  • Gradle 6.8.2 or higher
  • Kotlin plugin 1.4.30 or higher
  • New Device Manager:
  • The Device Manager is a stand-in replacement for the AVD Manager, both from Android Studio’s Welcome Screen or after you open a project. The Device Manager introduces some new capabilities that make this feature more easy to create and manage all of your local test devices, such as:
  • A more flexible UI that supports being docked in the IDE, floating, or in a separate window, like you can with other Android Studio tool windows. This gives you easier access to your devices without obstructing other windows of the IDE.
  • A Virtual tab that allows you to create, manage, and deploy virtual devices; see details of each device at a glance; or quickly inspect the device in the Device File Explorer with a single click.
  • A Physical tab that allows you to quickly pair to a new device using ADB Wifi and see details of each physical device at a glance. You can also quickly inspect each device’s file system using the Device File Explorer with a click of a button.
  • To open the new Device Manager, do one of the following:
  • From the Android Studio Welcome screen, select More Actions > Virtual Device Manager.
  • After opening a project, select View > Tool Windows > Device Manager from the main menu bar.
  • New in Layout Inspector:
  • Capture layout hierarchy snapshots:
  • Layout Inspector now allows you to save snapshots of your running app’s layout hierarchy, so that you can easily share them with others or refer to them later.
  • Snapshots capture the data you would typically see when using the Layout Inspector, including a detailed 3D rendering of your layout, the component tree of your View, Compose, or hybrid layout, and detailed attributes for each component of your UI. To save a snapshot, do the following:
  • Deploy your app to a device running API level 23 or higher
  • Open the Layout Inspector by selecting View > Tool Windows > Layout Inspector.
  • The Layout Inspector should connect to your app process automatically. If not, select the app process from the dropdown menu.
  • When you want to capture a snapshot, click Export snapshot Export icon from the Layout Inspector toolbar.
  • In the system dialog that appears, specify the name and location you want to save your snapshot. Make sure to save the file with a *.li extension.
  • You can then load a Layout Inspector snapshot by selecting File > Open from the main menu bar, and opening a *.li file.
  • Support for inspecting Compose semantics:
  • In Compose, Semantics describe your UI in an alternative manner that is understandable for Accessibility services and for the Testing framework. In Android Studio Bumblebee, you can now use the Layout Inspector to inspect semantic information in your Compose layouts.
  • When selecting a Compose node, use the Attributes window to check whether it declares semantic information directly, merges semantics from its children, or both. To quickly identify which nodes include semantics, either declared or merged, use select the View options dropdown in the Component Tree window and select Highlight Semantics Layers. This highlights only the nodes in the tree that include semantics, and you can use your keyboard to quickly navigate between them.
  • Avoid Activity restarts:
  • Connecting the Layout Inspector to a running app on older versions of Android Studio would cause your app’s Activity to restart. This is required to set a device flag that enables inspection of your app’s layouts.
  • In Android Studio Bumblebee, you can avoid Activity restarts when connecting the Layout Inspector by setting this flag ahead of time using one of the following steps:
  • Enable a Run Configuration option:
  • Select Run > Edit Configurations from the main menu bar. The Run/Debug Configurations dialog appears.
  • Navigate to the run configuration you would like to use.
  • In the Layout Inspector options section, check the box next to Connect to Layout Inspector without restarting activity.
  • Use the run configuration the next time you want to inspect your app using the Layout Inspector.
  • Set the flag from the command line:
  • Open a terminal window on the machine that’s connected to your device
  • Set the device flag for your app using the following command: adb shell settings put global debug_view_attributes_application_package
  • Deploy your app to the device and connect the Layout Inspector. Android Studio will check whether the flag is set and avoid restarting the Activity if possible.
  • Document Layout Inspector snapshots:
  • You can now capture snapshots of your app’s layout hierarchy to save, share, or inspect later. Snapshots capture the data you would typically see when using the Layout Inspector, including a detailed 3D rendering of your layout, the component tree of your View, Compose, or hybrid layout, and detailed attributes for each component of your UI. When inspecting the layout of a live running app, click Export snapshot Export icon from the Layout Inspector toolbar and save the snapshot with an *.li extension. You can then load a Layout Inspector snapshot by selecting File > Open from the main menu bar, and opening a *.li file. The snapshot appears in a tab in the Editor window, so that you can easily compare it with your running app.
  • New in App Inspection:
  • In Android Studio Bumblebee, there are new tools and functionalities in the App Inspection window. You can open the App Inspector by selecting View > Tool Windows > App Inspection from the main menu bar.
  • Network Inspector:
  • The Network Profiler in the Profilers tool window has now moved to the App Inspection tool window. If you’ve previously used the Network Profiler, all the same features and rich network traffic data is still available. Simply deploy your app to a device running API level 26 and higher and open the App Inspector > Network Inspector tab.
  • Inspect Jobs, Alarms, and Wakelocks:
  • The Background Task Inspector now allows you to inspect your app’s Jobs, Alarms, and Wakelocks, in addition to the existing support for inspecting Workers. Each type of asynchronous task now appears under the appropriate heading in the inspector tab, allowing you to easily monitor its status and progress. Similar to Workers, you can select a Job, Alarm, or Wakelock to inspect its detailed information in the Task Details panel.
  • Because Workers use Jobs and Wakelocks under the hood, those tasks that are scheduled by Workers appear as children of each Worker. Keep in mind, you can only see Workers in the Graph mode.
  • Wireless debugging:
  • Android Studio Bumblebee supports the wireless debugging feature on Android 11 and higher devices. Pair and deploy your app from Android Studio over Wi-Fi without using a USB cable or managing Android Debug Bridge (adb) connections using the command line. To use, navigate to the Pair devices using Wi-Fi option from the device selection menu, and then either choose a QR code or Pairing PIN Code. Then on your Android 11 and higher device, under Developer options, and find the Wireless Debugging screen and initialize and connect to an adb session wirelessly with Android Studio. Learn more about the wireless debugging setup at Connect to a device over Wi-Fi (Android 11+).
  • Compose interactive preview enabled by default:
  • Starting with Android Studio Bumblebee, the interactive preview feature is enabled by default. The interactive preview allows you to interact with a preview as it would work on a device. The interactive preview is isolated from other preview in a sandbox environment, where you can click elements and enter user input in the preview. It’s a quick way to test different states and gestures of your composable, like a checkbox being checked or empty.
  • Preview interactive mode runs directly inside Android Studio without an emulator running, which results in some limitations:
  • No network access.
  • No file access.
  • Some Context APIs may not be fully available.
  • Animated Vector Drawable (AVD) preview:
  • The Animated Vector Drawable tool offers the ability to preview animated drawable resources. This tools helps you preview , , and resources in Android Studio and makes it easier to refine your custom animations.
  • Non-transitive R classes on by default:
  • Non-transitive R classes are now on by default. You can use non-transitive R classes with the Android Gradle plugin to build faster builds for applications with multiple modules. Doing so helps prevent resource duplication by ensuring that each module’s R class only contains references to its own resources, without pulling references from its dependencies. This leads to more up-to-date builds and the corresponding benefits of compilation avoidance.
  • You can get help using this feature by going to Refactor > Migrate to Non-Transitive R Classes...
  • Apple Silicon support update:
  • For those using macOS on Apple Silicon (arm64) hardware, Android Studio Arctic Fox and the Android Emulator have supported this new architecture since last year. However, with this release, we have now updated the Android SDK platform tools v32.0.0 (which includes adb and fastboot) and build tools v32.1.0 (which includes aapt) to be universal binaries so that your Android developer tools no longer need the Rosetta binary translator to run. See the SDK platform tools release notes.
  • Updated device picker for design tools:
  • To simplify designing your app for the diverse number of Android devices, we’ve updated the device picker in various design tool windows, such as Layout Editor and Layout Validation, with reference devices that reflect popular sizes of each device form factor. From phones to tablets, and Wear devices to Android TVs, it’s now easier to preview, validate, or edit your layout on screen sizes that are most representative of popular real-world devices.

New in Android Studio 2021.1.1 Canary 9 (Aug 25, 2021)

  • Improved resource shrinker:
  • Support for apps with dynamic features:
  • The default implementation of the Android resource shrinker has been updated in Android Gradle Plugin 7.1.0-alpha09. The new implementation supports shrinking apps with dynamic features.
  • Experimental further app size reductions:
  • The new resource shrinker implementation can reduce the size of your shrunk app even more by modifying the resource table to remove unused value resources and references to unused file resources. The new resource shinker can delete unused file resources completely, reducing the size of your app more. This behavior is not enabled by default yet, but you can opt in to try it by adding the experimental option android.experimental.enableNewResourceShrinker.preciseShrinking=true to your project's gradle.properties file.
  • Please report any issues you find with the new resource shrinker or the experimental flag. To help diagnose issues, or as a temporary workaround, you can switch back to the previous implementation by adding android.enableNewResourceShrinker=false to your project's gradle.properties. The new shrinker replaces unused file-based resources with slightly different minimal files than the previous resource shrinker, but this is not expected to have any runtime impact. The old implementation is scheduled to be removed in Android Gradle plugin 8.0.0.
  • General fixes and features:
  • The bug fixes included in this update can be found here. For details of bugs fixed in each preview release, see previous entries on this blog.We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that it also affects you.

New in Android Studio 2020.3.1 (Jul 30, 2021)

  • New version numbering:
  • Updated version numbering for Android Studio:
  • We have changed the version numbering system for Android Studio to more closely align with IntelliJ IDEA, the IDE that Android Studio is based on.
  • In the previous numbering system, this release would have been numbered as Android Studio 4.3 or version 4.3.0.1. With the new numbering system, it is now Android Studio - Arctic Fox | 2020.3.1, or version 2020.3.1.
  • Going forward, here’s how the Android Studio version number is determined:
  • ...
  • The first two number groups represent the version of the IntellIj platform that a particular Android Studio release is based on. For this release, it's version 2020.3.
  • The third number group represents the Studio major version, starting at 1 and incrementing by one for every major release.
  • The fourth number group represents the Studio minor/patch version, starting at 1 and incrementing by one for every minor release.
  • We are also giving each major release a version name, incrementing from A to Z based on animal names. This release is named Arctic Fox.
  • Updated version numbering for Android Gradle plugin:
  • We have changed the version numbering for Android Gradle plugin (AGP) to more closely match the underlying Gradle build tool. Therefore, AGP 7.0 is the next release after AGP 4.2.
  • For more details, see Versioning changes in the AGP release notes.
  • Android Gradle plugin 7.0.0:
  • The latest version of the Android Gradle plugin includes many updates. To learn more, read the full Android Gradle plugin release notes.
  • Unit tests now uses Gradle test runner:
  • To improve overall consistency of test executions, Android Studio now uses Gradle to run all unit tests by default. In many cases, this change will not affect your testing workflow in the IDE.
  • For example, when you click the Run command in the context menu (visible when you right-click on a test class) or its corresponding gutter action , Android Studio will use the Gradle run configuration by default to run unit tests.
  • However, Android Studio no longer recognizes existing Android JUnit run configurations, so you should migrate Android JUnit run configurations that you might save as project files to Gradle run configurations.
  • To create a Gradle test configuration, select the Gradle template when following the instructions in Create a new run/debug configuration. When you've created a new configuration, it will appear in the Edit Configurations dialog in the Gradle section.
  • If you want to inspect Android JUnit configurations that are no longer recognized, you can do one of two things:
  • Open manually saved configurations in a text editor. The locations of these files are specified by the user, but the files typically appear in /.idea/runConfigurations/.
  • Look for temporary configurations in /.idea/workspace.xml and look under the node.
  • New Background Task Inspector:
  • You can visualize, monitor, and debug your app's background workers using the new Background Task Inspector. To get started, deploy your app to a device running WorkManager library 2.5.0 or higher, and select View > Tool Windows > App Inspection from the menu bar.
  • You can view more detailed information by clicking on a worker. For example, you can see the description of the worker, how it was executed, details of its worker chain, and the result of the execution.
  • You can also view a visual representation of a worker chain by selecting a worker from the table and clicking Show Graph View from the toolbar. You can then select any worker in the chain to see its details, or stop it if it’s currently enqueued or running. To return to the table, click Show List View .
  • To help you investigate issues from workers that fail execution, you can stop a currently running or enqueued worker by selecting it from the table and clicking Cancel Selected Worker from the toolbar. You can also filter workers in the table by tags you’ve assigned to them using the All tags dropdown menu.
  • Export data from the Database Inspector:
  • You can easily export databases, tables, and query results from the Database Inspector to save, share, or recreate locally. When you open up an app project in Android Studio and inspect the app for that project in the Database Inspector, you can start exporting data in one of the following ways:
  • Select a database or table in the Databases panel and click Export to file near the top of the panel.
  • Right-click on a database or table in the Databases panel and select Export to file from the context menu.
  • When inspecting a table or query results in a tab, click Export to file above the table or query results.
  • After selecting an export action, you use the Export dialog to help you through the final steps, as shown below. Depending on whether you are trying to export a database, table, or query results, you have the option of exporting the data in one or more of the following formats: DB, SQL, or CSV.
  • Updated UI for recording in Memory Profiler:
  • We have consolidated the Memory Profiler user interface (UI) for different recording activities, such as capturing a heap dump and recording Java, Kotlin, and native memory allocations.
  • The Memory Profiler provides the following options:
  • Capture heap dump: View objects in your app that are using memory at a specific point in time.
  • Record native allocations: View how each C/C++ object was allocated over a period of time.
  • Record Java/Kotlin allocations: View how each Java/Kotlin object was allocated over a period of time.
  • Here's how to use these three options:
  • To capture a heap dump, select Capture heap dump, then select Record. After the profiler finishes capturing the heap dump, the Memory Profiler UI transitions to a separate screen displaying the heap dump.
  • To record native allocations on devices running Android 10 and higher, select Record native allocations, then select Record. The recording continues until you click Stop , after which the Memory Profiler UI transitions into a separate screen displaying the native recording.
  • On Android 9 and lower, the Record native allocations option is not available.
  • To record Java and Kotlin allocations, select Record Java / Kotlin allocations, then select Record. If the device is running Android 8 or higher, the Memory Profiler UI transitions to a separate screen displaying the ongoing recording. You can interact with the mini timeline above the recording (for example, to change the selection range). To complete the recording, select Stop .
  • On Android 7.1 and lower, the memory profiler uses legacy allocation recording, which displays the recording on the timeline until you click Stop.
  • Updates to Refresh Linked C++ Project:
  • We have moved files unrelated to configuration from the .cxx/ folder into the build/ folder. CMake C++ builds require a configuration phase that generates the Ninja project that's used to execute the compile and link steps. Projects generated by CMake are expensive to generate and are expected to survive across gradle clean. For this reason, they're stored in a folder called .cxx/, next to the build/ folder. Typically, Android Gradle plugin will notice configuration changes and automatically regenerate the Ninja project. However, not all cases can be detected. When this happens, the "Refresh Linked C++ Project" option can be used to manually regenerate the Ninja project.
  • New test matrix for multi-device testing:
  • Instrumentation tests can now run across multiple devices in parallel and can be investigated using a specialized instrumentation test results panel. Using this panel, you can determine if tests are failing due to API level or hardware properties.
  • Testing your app across a wide variety of API levels and form factors is one of the best ways to ensure that all users have a great experience when using your app.
  • StateFlow support in data binding:
  • For Kotlin apps that use coroutines, you can now use StateFlow objects as a data binding source to automatically notify the UI about changes in the data. Your data bindings will be lifecycle aware and will only be triggered when the UI is visible on the screen.
  • To use a StateFlow object with your binding class, you need to specify a lifecycle owner to define the scope of the StateFlow object, and in your layout, assign the properties and methods of your ViewModel component to the corresponding views using binding expressions.
  • Improved suggested import:
  • We’ve improved the number of libraries that are supported by the suggested import feature and update the index more frequently. Suggested import helps you quickly and easily import certain Google Maven artifacts into both your class and Gradle project. When Android Studio detects unresolved symbols from certain Google libraries, the IDE suggests importing the library into both the class and the project.
  • Support for configuration cache in Build Analyzer:
  • Build Analyzer now identifies when a project doesn't have configuration cache enabled, and offers it as an optimization. Build Analyzer runs a compatibility assessment to inform you if there are any issues with configuration cache in your project before it gets enabled.
  • Improved Upgrade Assistant for AGP:
  • The Upgrade Assistant for Android Gradle plugin now has a persistent tool window with the list of steps that will be completed. Additional information is also presented on the right side of the tool window. If needed, you can also choose a different version of AGP to upgrade to. Clicking on the Refresh button updates the corresponding update steps.
  • Refactoring for non-transitive R classes:
  • You can use non-transitive R classes with the Android Gradle plugin to build faster builds for applications with multiple modules. Doing so helps prevent resource duplication by ensuring that each module’s R class only contains references to its own resources, without pulling references from its dependencies. This leads to more up-to-date builds and the corresponding benefits of compilation avoidance.
  • You can access this feature by going to Refactor > Migrate to Non-transitive R Classes.
  • Support for Jetpack Compose tooling:
  • We now offer additional support for previewing and testing apps that use Jetpack Compose. For the best experience developing with Jetpack Compose, you should use the latest version of Android Studio Arctic Fox so that you can benefit from smart editor features, such as New Project templates and the ability to immediately preview your Compose UI.
  • Compose preview:
  • The following parameters for @Preview methods are now available:
  • showBackground: Switch on and off a background for your preview.
  • backgroundColor: Set a color that is only used in the preview surface.
  • uiMode: This new parameter can take any of the Configuration.UI_* constants and allows you to change the behavior of the preview to, for example, set it to Night Mode to see how the theme reacts.
  • Interactive preview:
  • You can use this feature to interact with your UI components, click them, and see how the state changes. It's a quick way to get feedback on how your UI reacts and to preview the animations. To enable it, click the Interactive icon , and the preview will switch modes.
  • To stop, click on Stop Interactive Preview in the top toolbar.
  • Deploy to device:
  • You can use this feature to deploy a snippet of your UI to a device. This helps test small parts of your code in the device without having to start the full application.
  • Click the Deploy to Device icon next to the @Preview annotation or at the top of the preview, and Android Studio will deploy that @Preview to your connected device or emulator.
  • Live Edit of literals:
  • We have added Live Edit of literals to help developers using Compose quickly edit literals (strings, numbers, booleans) in their code and see the results immediately without needing to wait for compilation. The goal of this feature is to help increase your productivity by having code changes appear near instantaneously in the previews, emulator, or physical device.
  • Compose support in the Layout Inspector:
  • The Layout Inspector allows you to see rich detail about your app's layout running on your connected device. You can interact with your app and see live updates in the tool to quickly debug issues that might arise.
  • You can inspect layouts written with the new Android declarative UI framework, Jetpack Compose. Whether your app uses layouts fully written in Compose or layouts that use a hybrid of Compose and Views, the Layout Inspector helps you understand how your layouts are rendered on your running device.
  • Get started:
  • To get started, deploy your app to a connected device and then open the Layout Inspector window by selecting View > Tool Windows > Layout Inspector. If the Layout Inspector doesn't automatically connect to your app process, select the desired app process from the process pulldown. You should soon see your app's layout rendered in the tool window. To get started inspecting your Compose layout, select the layout component visible in the rendering or select it from the Component Tree.
  • The Attributes window shows you detailed information about the Compose function currently selected. In this window, you can inspect the function's parameters and their values, including modifiers and lambda expressions. For lambda expressions, the inspector provides a shortcut to help you navigate to the expression in your source code.
  • The Layout Inspector shows all Compose functions in the call stack that emit components to your app's layout. In many cases, this includes Compose functions that are called internally by the Compose Library. If you want to see only the Compose functions in the Component Tree that your app calls directly, click the filter action, which might help reduce the number of nodes shown in the tree to the ones you are likely to want to inspect.
  • Improved deploy dropdown:
  • The device dropdown now distinguishes between different kinds of errors within your chosen device configuration. Iconography and stylistic changes now differentiate between errors (device selections that result in a broken configuration) and warnings (device selections that may result in unexpected behavior but are still runnable).
  • In addition, Android Studio will now warn you if you attempt to launch your project to a device that has an error or a warning associated with it.
  • New Wear OS pairing assistant:
  • The new Wear OS pairing assistant guides developers step-by-step through pairing Wear OS emulators with physical or virtual phones directly in Android Studio. The assistant can help you get the right Wear OS Companion app installed on your phone and set up a connection between the two devices. You can get started by going to the device dropdown > Wear OS Emulator Pairing Assistant.
  • Responsive layout template:
  • Android Studio Arctic Fox now includes a new layout template that adapts to various display dimensions and app resizing, such as phones, foldables, tablets, and split screen modes. When creating a new project or module, select the Responsive Activity template to create a layout with components that dynamically resize.

New in Android Studio 4.2.2 (Jun 30, 2021)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #187353303: AGP 4.2.0 produces test APK that is missing a class, perhaps due to mixed java/kotlin source set
  • Issue #187420313: buildConfigField replacement warning prints the value, which could contain sensitive information
  • Lint:
  • Issue #187851920: Lint crashes in PrivateApiDetector when using lint.do.not.reuse.uast.env
  • Shrinker (R8):
  • Issue #187977749: desugar overrides final method spliterator in PriorityQueue
  • Tool Windows:
  • Issue #187415389: Add an indicator with a link when the list of Gradle tasks is not populated

New in Android Studio 4.2.1 (May 14, 2021)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Build Variants:
  • Issue #184826517: Project structure does not match after switching variants and reopening
  • Kotlin:
  • Issue #187403740: Android Studio 4.2.0 generates projects with wrong Kotlin version: "1.5.0-release-764"
  • Project Structure:
  • Issue #184660150: Project Structure dialog in AndroidStudio is unable to display modules that aren't included as text in settings.gradle
  • Android Gradle Plugin:
  • Issue #181055586: AGP 4.2 Beta 5 breaks Wear unbundled apps

New in Android Studio 4.2 (May 6, 2021)

  • Android Gradle plugin 4.2.0:
  • The latest version of the Android Gradle plugin includes many updates. To learn more, read the full Android Gradle plugin release notes.
  • Gradle compatibility and configuration changes:
  • When running in Android Studio, the Gradle build tool uses Studio's bundled JDK. In previous releases, JDK 8 was bundled with Studio. In 4.2, however, JDK 11 is now bundled instead. When using the new bundled JDK to run Gradle, this may result in some incompatibility or impact JVM performance due to changes to the garbage collector. These issues are described in the AGP release notes.
  • Database Inspector:
  • Query editor improvements:
  • The Database Inspector includes some improvements to help you write and execute your custom SQL statements. When you open the inspector and open a New query tab, you should notice a larger, resizable editor surface to author and format your queries, as shown below.
  • Additionally, we now provide a history of your previous queries. When you click on the Show query history Show query history button button, you should see a list of queries you previously ran against the currently selected database. Click a query in the list to see a preview of the full query in the editor and press Enter to copy it to the editor. Then, click Run to execute the statement.
  • Offline mode:
  • In previous versions of Android Studio, disconnecting from an app process while using the Database Inspector resulted in closing the inspector and its data. In Android Studio 4.2, we've added the ability to keep inspecting your app's databases after a process disconnects, making it easier to debug your app after a crash.
  • When a disconnect occurs, the Database Inspector downloads your databases and then makes them available to you in offline mode. When offline, you can open tables and run queries.
  • Keep in mind, when you reconnect to a live app process, the Database Inspector returns to live mode and shows you only the data that is on the device. That is, data shown in offline mode doesn't persist when you reconnect to an app process. Because of this, the Database Inspector does not allow editing or running modification statements while in offline mode.
  • Upgrade Assistant for AGP:
  • A new Upgrade Assistant for Android Gradle plugin can help you update the AGP version for your project.
  • Built on top of the existing AGP upgrade functionality, this tool guides you through project-wide updates/refactorings and includes a preview of the updates to help prevent potential breaking changes before executing the AGP upgrade.
  • System Trace: Improved metrics for memory and graphics:
  • In the CPU profiler, the System Trace feature now includes new metrics for analyzing app performance and includes the following:
  • Events Table. Lists all trace events in the currently selected thread.
  • BufferQueue. In the Display section, this new track shows the buffer count of the app's surface BufferQueue (0, 1, or 2) to help you understand the state of image buffers as they move between the Android graphics components.
  • CPU Frequency. In the CPU cores section, this new track displays CPU frequency by core, indicating how hard each core is working.
  • Process Memory (RSS). This new window shows the amount of physical memory currently in use by the app.
  • New Layout Inspector refresh action:
  • Introduced in Android Studio 4.0, the Layout Inspector was designed for real-time inspection of your running app’s UI stack. However, you might not always want the Layout Inspector to immediately reflect what’s happening in your app, since you might want to inspect a snapshot of your app’s layout at a specific point in time or minimize the performance impact of live updates on your app.
  • To manually load a snapshot of UI data from your app, first disable the Live updates option. You can then click the Refresh button to take a new snapshot of the UI stack for inspection. The Layout Inspector now remembers your preference to keep Live updates enabled or disabled between sessions.
  • Support for Safe Args:
  • Safe Args is a Gradle plugin that generates simple object and builder classes for type-safe navigation and access to any associated arguments. Android Studio now includes richer support when working with Safe Args, as described below:
  • Autocompletions for Directions, Args, and the various builder classes
  • Support for both Java and Kotlin safe args plugins
  • Navigation from source to XML
  • R8 retrace now available in command-line tools:
  • Available in version 4.0 of the command-line tools, R8 retrace is a standalone tool for obtaining the original stack trace from an obfuscated stack trace.
  • You can download this package with the SDK manager, which installs R8 retrace in android_sdk/cmdline-tools. Alternatively, you can download the standalone command-line tools package.
  • For usage information, see R8 retrace in the user guide.
  • Deploy to multiple devices:
  • To help streamline app testing across devices and API levels, you can now deploy your app to multiple devices or emulators simultaneously.
  • New removable setting for feature modules:
  • Android Gradle plugin 4.2 uses bundletool 1.0.0, which introduces a behavior change for apps using feature modules: Any feature module specified as dist:install-time that's not explicitly marked as dist:removable will become non-removable by default. This new setting optimizes fusing of install-time modules with the base module, potentially improving app performance for some apps.
  • To keep feature modules removable, set dist:removable="true" on any module you want to uninstall.
  • For more information on this new setting, see the documentation for the dist:removable tag in the documentation for feature module manifest.
  • Apply Changes:
  • To help you be more productive as you iterate on your app, we've made the following enhancements to Apply Changes for devices running Android 11 or higher:
  • Support for additional code changes:
  • For devices running Android 11 or higher, you can now add static final primitive fields and then deploy those changes to your running app by clicking either Apply Code Changes or Apply Changes and Restart Activity .
  • You can now also add resources and then deploy those changes to your running app on Android 11 devices by clicking Apply Changes and Restart Activity .
  • Updated New Project and New Module wizards:
  • The New Project and New Module wizards have been updated to make it easier to browse, select a template, and input information about the new project or module.
  • The option to Import .JAR/.AAR Package from the New Module wizard has also been removed. To import a JAR or AAR into your project, use the Project Structure Dialog instead.
  • Kotlin 1.4.31:
  • Android Studio 4.2 bundles Kotlin 1.4.31. Check out the Kotlin 1.4.0 changelog to review the major changes.
  • ANDROID_SDK_HOME environment variable deprecated:
  • The ANDROID_SDK_HOME environment variable is deprecated and has been replaced with ANDROID_PREFS_ROOT. For more information, see Emulator Environment Variables.

New in Android Studio Arctic Fox Canary 15 (Apr 30, 2021)

  • This update includes fixes for the following public issues:
  • Issue #122554774: Error before lint: Resolving this BuildableArtifact can only done during task execution.
  • Issue #124227171: Android manifest contains incorrect values for platformBuildVersionCode and platformBuildVersionName
  • Issue #123558506: R8 won't compress APK's kotlin folder
  • Issue #120779854: Android Studio Freezes processing logcat
  • Issue #123409929: Cannot find symbol java.util.List
  • Issue #110463869: Preview tab
  • Issue #123776985: Navigation editor generates wrong reference for arguments that are public static inner classes
  • Issue #120609432: Support Serializable (incl enums) and arrays for arguments
  • Issue #122846702: R class navigation doesn't work with AS 3.3 and AGP 3.2
  • Issue #123985288: Some lint quickfixes that are not registered with autoFix=true are applied by the lintFix gradle task
  • Issue #124329575: [New PSD] Module type is not detected if android plugin is not the first one
  • Issue #124074412: Create API to return the result of "adb devices" from the command line
  • Issue #124070991: Make WindowsParser error handling more robust
  • Issue #123886074: Update the Connection Assistant to decorate devices based on whether ADB and ddmslib sees them
  • Issue #112324902: sdk manager patch merge conflict dialog contrast too low
  • Issue #123677458: Creating a new project should explicitly set project name in settings.gradle via rootProject.name = "..."
  • Issue #123311600: Manifest merger failed when deep linking in navigation graph

New in Android Studio Arctic Fox Canary 12 (Mar 26, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #181055586: AGP 4.2 Beta 5 breaks Wear unbundled apps
  • Issue #182468430: [7.0.0-alpha09] does not specify targetPackage when running unit tests
  • Issue #181208535: AAPT: error: is missing attribute 'android:name'
  • Issue #172639034: Integrated jacoco report generation for unit tests
  • Issue #175718909: After upgrad NDK to 22, AGP-externalNativeBuild error
  • Issue #156824500: All generation of manifest in library modules
  • Issue #181142242: AGP 4.2.0-beta-xx crashed on build android app under GradleTestKit
  • Issue #126865761: Option to output main dex list when compiling with R8
  • Android Studio:
  • Issue #181885359: getValue not automatically imported
  • AVD Manager:
  • Issue #128470923: The widths of AVD Manager columns should automatically size to their content
  • Bundled Plugins:
  • Issue #174678824: Android Studio login can't bring my Google profile image
  • Code Editor:
  • Issue #181600226: Compose should suggest specific completion instances as part of the modifiers instead of just the interfaces
  • Compose Preview:
  • Issue #180913190: UX: If required, add link to let user kick off a build in the preview window
  • Issue #182832723: Compose Preview Error Tooltip just shows "E"
  • Import/Sync:
  • Issue #170950436: Do not build Gradle task list experimental options seems to be OFF by default

New in Android Studio Arctic Fox Canary 11 (Mar 23, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #182169925: Use special-case media dirs for testAdditionalOutputDir on API 29+
  • Issue #181770616: AGP throw ConcurrentModificationException when change SourceCompatibility to use java 11
  • Compose Preview:
  • Issue #181986045: Labels are not shown in propkeys section before the first run
  • Issue #181593654: Android studio unexpected split view for @Composable
  • Emulator:
  • Issue #172199752: Ugly scaling when using Emulator Tool Window
  • Gradle Files Editor:
  • Issue #159160295: Accepting option to enable inline classes support results in Gradle Sync Failure
  • Resources:
  • Issue #181770225: Non-transitive R classes: don't modify generated classes
  • Testing:
  • Issue #180881866: Logs' tab keeps refreshing for failed instrumented test

New in Android Studio 4.1.3 (Mar 19, 2021)

  • This version (4.1.3) sets the default upgrade channel as "Stable" for 4.1.x users.

New in Android Studio Arctic Fox Canary 10 (Mar 16, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Lint:
  • Issue #180889192: Custom Lint check does not compile with 7.0.0-alpha07 (+alpha06,05,etc) due to unresolved imports
  • AVD Manager:
  • Issue #144443763: Enable device frame checkbox state is broken
  • Issue #151968449: avdmanager creates invalid AVD config
  • Issue #128470923: The widths of AVD Manager columns should automatically size to their content
  • SDK Manager:
  • Issue #161580306: sdkmanager.bat from command line tools (Windows) does not support paths with spaces
  • Code Editor:
  • Issue #133272518: ${applicationId} Error In AndroidManifest.xml, it's hint "Cannot resolve symbol 'applicationId'"
  • Issue #170489566: IDE, context highlighting stops.
  • Issue #156550033: Compose preview is rendered with an opaque background
  • Issue #161488011: Android Room Entity with AutoValue
  • Issue #37057404: Android Studio Plural Resource Code Folding for Format Arguments
  • Resources:
  • Issue #176694227: SVG-to-Vector converter breaks if element has parameter rx with percentage value
  • Issue #176760787: SVG-to-Vector converter does not apply transformations to the attribute *stroke width* of elements and paths
  • Issue #37086061: Tools-Namespace cannot be applied to other build type's resources
  • Translations Editor:
  • Issue #145653486: National flag of Myanmar displaying as old Burma flag
  • Issue #128106334: Bug: adding translation to the translation editor for a file that exist with qualifier will add yet another file instead of putting it into existing one
  • Issue #176344055: No column headers in Translations Editor
  • New Code/Templates:
  • Issue #181530512: [Sample Wizard] Style of vertical divider
  • Issue #62721914: Divider between list of samples and sample description should be draggable
  • Issue #37074303: Add "android:labelFor" in templates
  • Android Gradle Plugin:
  • Issue #166675916: Add public gradle API to enforce warnings as errors for R8
  • Issue #172895799: Premote GENERATE_MANIFEST_CLASS to softly enforced.
  • Network:
  • Issue #131854737: Freeze when clicking on large network call
  • Issue #170799243: Network profiler cause Android Studio to freeze when clicking on large network call
  • Database Inspector:
  • Issue #179012574: Database Inspector CREATE TABLE query puts columns in alphabetic order instead of actual order
  • Jetpack Compose:
  • Issue #181156420: java.lang.NoSuchMethodError: no non-static method Landroidx/compose/runtime/HotReloader$Companion;.saveStateAndDispose
  • Android Studio:
  • Issue #181575029: Completion breaks for @Composable methods
  • Issue #181203166: Add test dependencies to "Empty Compose" project template

New in Android Studio 4.2 Beta 6 (Mar 10, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Emulator:
  • Issue #171136614: Emulator is janky and is dropping frames when launched in a tool window (embedded in studio) but works perfectly fine when launched as a separate window

New in Android Studio Arctic Fox Canary 9 (Mar 9, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #179381701: Manifest-merger should verify that only one is present.
  • Android Studio:
  • Issue #180697776: Compose template variable casing
  • AVD Manager:
  • Issue #128106333: Can't finish emulator configuration if emulator was set an external sdcard file and it is deleted
  • Issue #159631139: Virtual devices are not sorted by default
  • Code Editor:
  • Issue #151239595: Room @Query resolver resolves the table to the wrong class
  • Issue #127890347: Import Order should match AOSP style : static at the top
  • Issue #141319429: Missing OnClick handler error reported in XML when using Fragments, due to tools:Context value
  • Issue #62692196: OnClick handler methods which are defined in super class aren't recognised in layout file which uses tools:context="subclass"
  • Issue #165896697: Lint: Incorrectly thinks FragmentContainerView android:name=".Fragment" class "is never used" when it is
  • Issue #156549140: Compose sample docs: add margins to preview image
  • Database Inspector:
  • Issue #178109346: Please make window drag handle larger
  • Issue #162568147: Please use progress indicator when waiting from response from room in db inspector
  • Issue #161718184: Database Inspector: Please make it possible to resize the columns !
  • Device File Explorer:
  • Issue #169764221: Device Explorer creates "AndroidStudio" folder in the home directory
  • Issue #144685944: Paths that include single quote show as empty
  • Emulator:
  • Issue #172199752: Ugly scaling when using Emulator Tool Window
  • Logcat:
  • Issue #147287647: Logcat view has extra "logcat" bar that seems to be useless
  • Memory:
  • Issue #176006855: Class names aren't shown properly in memory profiler, live tracking mode
  • Issue #155220549: Memory profiler - Arrange by package does not work
  • New Code/Templates:
  • Issue #37101507: Nav drawer template uses a deprecated API
  • Resources:
  • Issue #138908185: Bug: Portoguese flag for german (de) language translation value files
  • Issue #124064874: Section comments "region - endregion" doesn't work in proguard files
  • SDK Manager:
  • Issue #170751424: Improve error message when failing to run mksdcard.exe
  • Translations Editor:
  • Issue #124812179: impossible to access the panel where you can copy and paste translations

New in Android Studio Arctic Fox Canary 8 (Feb 25, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #179062268: Default proguard rules get lost when running assembleRelease together with clean in an android library project with native code
  • Code Analysis:
  • Issue #171369798: Lint: False positive "Obsolete Gradle Dependency" for native version of `kotlinx-coroutines-core`
  • Code Editor:
  • Issue #174992109: [Compose] Add settings to disable custom formatter
  • Lint:
  • Issue #180078655: Default project has "does not specify a vendor; see IssueRegistry#vendor" warnings
  • Issue #180017974: Allow detectors to vary severity on a per occurrence basis, instead of just on a per issue basis
  • Issue #180018551: Allow third party lint check to supported renamed issues and deleted issues
  • Issue #178631052: Lint Fails with OutOfMemoryError on AGP 7.0.0-alpha05
  • Issue #179925911: Android Lint endless loop when trying to read databinding expression
  • Project Structure:
  • Issue #174827009: Adding App Variable breaks Gradle

New in Android Studio 4.2 Beta 5 (Feb 24, 2021)

  • General Fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #172112073: Location Permission granted by default with AGP 4.1.0 when using installRelease or installDebug tasks
  • Issue #178015739: Cannot collect coverage data with Jacoco on regular unit test in an Android library
  • Issue #161727311: Android Studio 4.1 ignores resValue and buildConfigField
  • APK Debugging:
  • Issue #166750879: [Studio 4.2 Canary 9] Java Debugger crashes for API 29 and above
  • Issue #169230027: Cannot reopen lib.so after closing project
  • Issue #177976547: [NDK 21.4.7075529][AS 4.2 Beta 3] AssertionError when clicked on add debug symbols
  • ddmlib:
  • Issue #171839322: UI freeze in AndroidDebugBridge.getDevices
  • Lint:
  • Issue #178805864: Filename sorting is not transitive with D8 desugared class names
  • Shrinker (R8):
  • Issue #176381203: Undefined value encountered during compilation.
  • Issue #175332495: [AGP4.2] NPE in R8
  • Issue #178045782: Getting an IllegalAcessException when using proguard-android.txt
  • Issue #177337814: Unrecognized Kotlin lambda ... does not implement any interfaces

New in Android Studio Arctic Fox Canary 7 (Feb 19, 2021)

  • General Fixes:
  • Lint:
  • Issue #178805864: Filename sorting is not transitive with D8 desugared class names
  • Issue #179088682: API check for interface casts does not look for surrounding instanceof checks
  • Data Binding:
  • Issue #178122250: Attributes in data binding custom adapters not being shown in autocomplete
  • New Project Wizard:
  • Issue #171990802: Change generated project to use `dependencyResolutionManagement` in settings file
  • Android Gradle Plugin:
  • Issue #175337498: AGP 4.1, Gradle 6.7: mergeDebugNativeLibs is not up to date and slows down Gradle builds.
  • Issue #178715706: Can't build project on Android Studio 2020.3.1.5 with AGP 7.0.0-alpha05
  • Issue #175108337: Allow overriding AAPT2 version in android projects
  • Issue #37797956: Switch to new models (v2).
  • Issue #178400721: Unsupported dynamic constant: $jacocoData
  • Issue #176819910: Duplicate key: (row=style, column=Theme_Transparent), values: [UNDEFINED style Theme_Transparent = 0x7f130217, UNDEFINED style Theme_Transparent = 0x7f1301e6].

New in Android Studio Arctic Fox Canary 6 (Feb 12, 2021)

  • Compose support in Layout Inspector:
  • Starting with Arctic Fox Canary 6, you can now inspect layouts written with the new Android declarative UI framework, Jetpack Compose. Whether your app uses layouts fully written in Compose or layouts that use a hybrid of Compose and Views, the Layout Inspector helps you understand how your layouts are rendered on your running device.
  • This feature requires that each module using the Compose UI declare the following dependencies.
  • debugImplementation "androidx.compose.ui:ui-tooling:1.0.0-alpha11" debugImplementation "org.jetbrains.kotlin:kotlin-reflect:1.4.21"
  • To get started, deploy your app to a connected device and then open the Layout Inspector window by selecting View > Tool Windows > Layout Inspector.
  • To learn more, see the release notes.
  • Automated test snapshots:
  • When you inspect failed assertions after running instrumented tests, it's sometimes difficult or time consuming to reproduce that test failure again. However, reproducing those failures on your connected device is critical in helping you diagnose the issue, either by attaching a debugger or interacting with the app at the time of failure.
  • In Android Gradle plugin 7.0-alpha06 and higher, we're introducing automated test snapshots – a quicker way to reproduce test failures by leveraging Emulator snapshots. In other words, when your instrumented tests running on a connected Emulator encounter a Java or Kotlin assertion that fails, the device takes a snapshot at the time of failure. After your test run completes, you can then reload the snapshot on the same device in order to reproduce and investigate that failure.
  • To learn more, see the release notes.
  • General Fixes:
  • Android Gradle Plugin:
  • Bug: choosing Lint quick-fix for conversion to WEBP, its dialog gets stuck, hard to even close it
  • Issue #174839536: ConnectedAndroidTest still run even there is no test files with Gradle Plugin 7.0.0-alpha02
  • Issue #176998942: Exception while trying to import/sync project in AS 4.2 b3 with Gradle source dependency. 4.1.1 passes.
  • Issue #175337498: AGP 4.1, Gradle 6.7: mergeDebugNativeLibs is not up to date and slows down Gradle builds.
  • Issue #169266007: issues related with android.defaultConfig.ndk.debugSymbolLevel
  • Issue #175718909: After upgrade NDK to 22, AGP-externalNativeBuild error
  • Android App Bundles:
  • Issue #171462060: [AGP 4.1.0] ./gradlew app:installDebugAndroidTest incorrectly tries to fetch APK from App Bundle
  • Android Studio:
  • Issue #171039472: Android Studio crashing on launch on Mac OS Big Sur
  • IntelliJ:
  • Issue #171563671: Pinch & Zoom no longer works
  • Lint:
  • Issue #170656529: [AGP 4.1] lint module being evaluated in improper context
  • Issue #175741231: Bug: choosing Lint quick-fix for conversion to WEBP, its dialog gets stuck, hard to even close it
  • Upgrade Assistant:
  • Issue #174793640: Arctic Fox Canary 2: Android Gradle Plugin Upgrade Assistant is upgrading kotlin gradle plugin to the wrong value

New in Android Studio 4.2 Beta 4 (Jan 31, 2021)

  • General Fixes:
  • Android App Bundles:
  • Issue #171462060: [AGP 4.1.0] ./gradlew app:installDebugAndroidTest incorrectly tries to fetch APK from App Bundle
  • Android Gradle Plugin:
  • Issue #174839536: ConnectedAndroidTest still run even there is no test files with Gradle Plugin 7.0.0-alpha02
  • Issue #176998942: Exception while trying to import/sync project in AS 4.2 b3 with Gradle source dependency. 4.1.1 passes.
  • Issue #169266007: issues related with android.defaultConfig.ndk.debugSymbolLevel
  • Issue #175718909: After upgrad NDK to 22, AGP-externalNativeBuild error
  • IntelliJ:
  • Issue #171563671: Pinch & Zoom not longer works
  • Lint:
  • Issue #170656529: [AGP 4.1] lint module being evaluated in improper context
  • Issue #175741231: Bug: choosing Lint quick-fix for conversion to WEBP, its dialog gets stuck, hard to even close it
  • Upgrade Assistant:
  • Issue #174793640: Arctic Fox Canary 2: Android Gradle Plugin Upgrade Assistant is upgrading kotlin gradle plugin to the wrong value

New in Android Studio Arctic Fox Canary 5 (Jan 31, 2021)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Android App Bundles:
  • Issue #171462060: [AGP 4.1.0] ./gradlew app:installDebugAndroidTest incorrectly tries to fetch APK from App Bundle
  • Android Gradle Plugin:
  • Issue #175337498: AGP 4.1, Gradle 6.7: mergeDebugNativeLibs is not up to date and slows down Gradle builds.
  • Issue #177167009: AGP 7.0.0-alpha04 - Jar missing if there are no custom manifest permissions
  • Issue #37797956: Switch to new models (v2).
  • Issue #160138798: DexFileDependenciesTask should be cacheable
  • Issue #174839536: ConnectedAndroidTest still run even there is no test files with Gradle Plugin 7.0.0-alpha02
  • Issue #176998942: Exception while trying to import/sync project in AS 4.2 b3 with Gradle source dependency. 4.1.1 passes.
  • Issue #174493018: Reduce the number of //tools/base/build-system/integration-test/application bazel test targets
  • Issue #175718909: After upgrad NDK to 22, AGP-externalNativeBuild error
  • Issue #154948828: Configuration resolved early, with included build and configuration on demand
  • Issue #169885381: Make `kotlinCompilerVersion` optional (or remove it altogether)
  • Issue #177004260: Split IdeLibrary into Ide*Library and Ide*Dependency
  • Issue #154984238: Skip MergeNativeLibsTask when there are no native libraries
  • Issue #159238028: apkDirectory is final after upgrading to AGP v4.0
  • Android Studio:
  • Issue #155258590: Compose function calls are not highlighted in the color from the color scheme
  • C++ Build:
  • Issue #173049056: Native build tasks should suppress success messages
  • Issue #163379002: Gradle externalNativeBuild script has problem in recognizing last include statement in Android.mk file
  • Databinding:
  • Issue #176886060: Memory leak from sReferenceQueue
  • Gradle:
  • Issue #172361895: Add DSL to replace AndroidManifest.xml's package attribute
  • Layout Editor:
  • Issue #161154345: AttachedToolWindow$UpdatableActionButton buttons aren't visible on side panels in Design mode
  • Lint:
  • Issue #170656529: [AGP 4.1] lint module being evaluated in improper context
  • Issue #175741231: Bug: choosing Lint quick-fix for conversion to WEBP, its dialog gets stuck, hard to even close it
  • Issue #158777858: Lint error: package fragment is not found for module: is a module[ModuleDescriptorImpl@6dc0aaa0] file:KtFile: Crm.kt
  • Issue #159733104: Lint: NPE in KtLightClassForFacade.getLightClassData
  • Issue #177044619: AGP 4.2 lint.xml ignore regexp does not work as expected
  • Logcat:
  • Issue #175298140: Logcat Process Package Name Combo Should Be Searchable
  • Profilers:
  • Issue #174841028: Opening dmtrace.trace from Device File Explorer always fail (stuck on loading)
  • Test:
  • Issue #123987001: Test orchestrator coverage data is missing
  • Upgrade Assistant:
  • Issue #175496966: "Configuration with name 'testApi' not found." on AGP 7.0.0-alpha03
  • Issue #174787527: Opening a project with gradle 7.0.0-alpha01 plugin will no upgrade to 7.0.0-alpha02 automatically.
  • Issue #174793640: Arctic Fox Canary 2: Android Gradle Plugin Upgrade Assistant is upgrading kotlin gradle plugin to the wrong value
  • Issue #160258052: AS4.2C3 may not upgrade gradle classpath to 'com.android.tools.build:gradle:4.2.0-alpha03' from 'alpha02'.
  • Issue #153680188: com.android.tools.build:gradle:4.1.0-alpha04' does not upgrade to 'alpha05' gracefully when upgrading AS4.1C4 to AS4.1C5
  • Issue #155109633: com.android.tools.build:gradle:4.1.0-alpha07' does not upgrade to 'alpha08' gracefully when upgrading AS4.1C7 to AS4.1C8
  • View Binding:
  • Issue #173647034: Safe delete doesn't work

New in Android Studio 4.1.2 (Jan 20, 2021)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Shrinker (R8):
  • Issue #174167294: App failed to run when upgraded to AGP 4.1
  • Issue #172999904: R8 Slowdown and Timeout Due to number of proguard rules
  • Issue #170716961: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
  • Issue #171982443: Default method called using invoke-static instead of invoke-interface with AGP 4.1 (r8 2.1.62)
  • Issue #173184123: Public tracking bug for b/172895918 - R8 crashing with java.lang.NullPointerException
  • Run:
  • Issue #173493930: Pressing the run button doesn't actually install the APK on the device, but Android studio reports operation succeeded
  • Issue #173137937: Studio builds old files
  • Issue #173209141: Application not killed after install
  • Issue #173126306: Everytime, when you click "Run", the changes in the code are not applied. I have to run two times to apply changes
  • Android Gradle Plugin:
  • Issue #173134919: Sync fails for unit tests in libraries when Android resources disabled
  • Running Tests:
  • Issue #167594703: JaCoCo plugin hangs for a long time
  • Issue #170328018: AS 4.1+ fail to run junit tests, compailing about junit version being too low
  • Emulator:
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process

New in Android Studio 4.2 Beta 3 (Jan 7, 2021)

  • General Fixes:
  • Android Studio:
  • Android Studio needs to update the leanback template
  • Database Inspector:
  • If the schema tree only contains Databases with no schema, nothing is rendered
  • AdbCommandRejectedException thrown when device is unplugged while entering offline mode
  • Core IDE:
  • [Android Studio Preview Crash Report][4.1.0.10] java.lang.IllegalStateException at com.android.tools.idea.emulator.EmulatorToolWindowManager.getToolWindow-81716942
  • Resources:
  • UI freeze in ResourceRepositoryManager.computeLibraryResourceMap
  • Layout Editor:
  • Exception report: java.lang.AssertionError at com.android.tools.idea.common.scene.SceneInteraction.commit-0e67c1d5
  • Embedded Emulator:
  • Mouse events contain wrong coordinates for devices with landscape default orientation
  • New Project Wizard:
  • New "Import Gradle or Eclipse project" not displaying main imported module
  • Project System:
  • Remember Passwords functionality is not working while Generating Signed Apk
  • Gradle version quickfixes for older versions results in an incorrect state.
  • 20 second freeze from org.jetbrains.android.exportSignedPackage.ExportSignedPackageWizard.
  • Testing:
  • Test duration is showing incorrect when we choose Instrumentation test result from Test History
  • Android Studio:
  • Issue #174785779: RepositoryLoader.loadFromResFolder: Control-flow exceptions (like ProcessCanceledException) should never be logged
  • Android Gradle Plugin:
  • Issue #173911569: gradle 4.1.0 no longer embedding wear apk in mobile apk.

New in Android Studio Arctic Fox (2020.3.1) Canary 4 (Jan 7, 2021)

  • StateFlow support in data binding:
  • For Kotlin apps that use coroutines, you can now use StateFlow objects as a data binding source to automatically notify the UI about changes in the data. Your data bindings will be lifecycle aware and will only be triggered when the UI is visible on the screen.
  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #174605126: generateReleaseLintModel fails when lintOptions.checkDependencies = true in AGP 7.0.0-alpha01.
  • Issue #173911569: gradle 4.1.0 no longer embedding wear apk in mobile apk.
  • Android Studio:
  • Issue #174785779: RepositoryLoader.loadFromResFolder: Control-flow exceptions (like ProcessCanceledException) should never be logged
  • C++ Debugger:
  • Issue #174594763: Android Studio doesn't display strings when using -fsigned-char
  • Code Editor:
  • Issue #170967396: caret-position not saved for editor-type-id="android-source-code"
  • Issue #174245735: [Compose] Custom formatter
  • Lint:
  • Issue #175001233: ThreadDetector: better handling of annotations on functional interface methods
  • Upgrade Assistant:
  • Issue #174686925: Unable to migrate to latest version of the AGP

New in Android Studio Arctic Fox Canary 3 (Dec 15, 2020)

  • Android Gradle plugin: Dependency configurations removed:
  • In AGP 7.0 Canary 3, the following configurations (or dependency scopes) have been removed:
  • compile Depending on use case, this has been replaced by api or implementation. Also applies to *Compile variants, for example: debugCompile.
  • provided This has been replaced by compileOnly. Also applies to *Provided variants, for example: releaseProvided.
  • apk This has been replaced by runtimeOnly.
  • publish This has been replaced by runtimeOnly.
  • In most cases, the AGP Upgrade Assistant will automatically migrate your project to the new configurations.
  • General Fixes:
  • This update includes fixes for the following issues:
  • C++ Debugger:
  • Issue #171300775: Display actionable error for missing dependencies: LLDBFrontend exited with code 127
  • Lint:
  • Issue #174480831: textOutput(“stderr”) now creating a file
  • Issue #174500754: lint is printing its command line and exit code
  • New Project Wizard:
  • Issue #174295122: Remove $kotlin_version declaration

New in Android Studio 4.2 Beta 2 (Dec 15, 2020)

  • General Fixes:
  • Lint:
  • Issue #174480831: textOutput(“stderr”) now creating a file
  • Shrinker (R8):
  • Issue #172999904: R8 Slowdown and Timeout Due to number of proguard rules
  • Issue #173184123: Public tracking bug for b/172895918 - R8 crashing with java.lang.NullPointerException
  • Issue #173598082: R8 build failure: Invalid descriptor char 'N'
  • Layout Editor:
  • Issue #146702651: layout_constraintDimensionRatio value error
  • Issue #173198421: Request to insert missing font sizes into textview
  • Navigation Editor:
  • Issue #172694913: AS 4.2 performs incorrect case mapping for camelCase graph IDs when referencing Directions classes
  • Code Editor:
  • Issue #173554093: JNI support is incorrectly handling inner class names
  • New Code/Templates:
  • Issue #163156198: Activity Wizard doesn't create files
  • Issue #172268020: Unable to create modules in Android Studio
  • Android Gradle Plugin:
  • Issue #173770818: Having tests only under `androidTest/kotlin` will not run any integration tests
  • Issue #172695848: Spurious error about android:extractNativeLibs
  • Issue #174576241: Kotlin DSL: packagingOptions.exclude broken
  • Emulator:
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process

New in Android Studio Arctic Fox Canary 2 (Dec 4, 2020)

  • General Fixes
  • This update includes fixes for the following issues:
  • Android App Bundles:
  • Issue #111082605: Root binary files are packaged with base.apk instead of feature.apk
  • Android Gradle Plugin:
  • Issue #173770818: Having tests only under `androidTest/kotlin` will not run any integration tests
  • Code Editor:
  • Issue #173554093: JNI support is incorrectly handling inner class names
  • Import/Sync:
  • Issue #173111113: Drop ArtifactsByConfigurationModuleSetupStep
  • Jetpack Compose:
  • Issue #155624809: Implement "Extract string resource" in AS
  • Issue #169522329: Jetpack compose: provide intention action to un-surround a component
  • Layout Editor:
  • Issue #146702651: layout_constraintDimensionRatio value error
  • Layout Inspector:
  • Issue #157906217: Property value resolution stack missing
  • Lint:
  • Issue #172055763: Lint: OOM while analyzing Kotlin list of lambdas with receivers
  • Issue #173825213: lint.xml paths not treated as relative to the lint.xml file
  • New Code/Templates:
  • Issue #163156198: Activity Wizard doesn't create files

New in Android Studio Arctic Fox Canary 1 (Dec 2, 2020)

  • Updated version numbering for Android Studio:
  • We have changed the version numbering system for Android Studio to more closely align with IntelliJ IDEA, the IDE upon which Android Studio is built. For more information, see the release notes.
  • Updated version numbering for Android Gradle plugin:
  • We are updating the version numbering for Android Gradle plugin (AGP) to more closely match the underlying Gradle build tool. Therefore, AGP 7.0 will be the next release after AGP 4.2. For more details, see Versioning changes in the AGP release notes.
  • General Fixes
  • This update includes fixes for the following issues:
  • Activity:
  • Issue #170026127: ActivityResultFragmentVersionDetector lint failure when using 1.2.0-beta01 with fragment 1.3.0-beta01
  • Android Gradle Plugin:
  • Issue #169896233: Using jetpack compose breaks gradle configuration caching
  • Issue #161465530: More than one file was found with OS independent path 'META-INF'/.kotlin_module
  • Issue #150133257: Sanitize flavor names in BuildConfig
  • Issue #117944726: Provide DSL to register ASM visitors.
  • Issue #171364505: Shrinking library with multidex enabled fails (after 4.0 -> 4.1 update)
  • Issue #170922353: Upgraded from AGP 4.0.2 to 4.1.0 and app crashes with Resources$NotFoundException: Resource ID #0x0
  • Issue #167706055: Add real build id into AGP gradle metadata
  • Issue #172055303: Disabling android resources in libraries breaks unit tests
  • Issue #172040522: Deprecate and remove Proguard from AGP
  • Issue #172695848: Spurious error about android:extractNativeLibs
  • Issue #139013660: Need to investigate JDK9+ compiler impact
  • Android Studio:
  • Issue #169776728: Incorrect imports when using Jetpack Compose default live templates
  • Issue #80166964: IntDef annotation for variable not working anymore
  • AVD Manager:
  • Issue #159878401: "Cold Boot Now" on AVD Manager does not really cold boot emulator
  • Build Output:
  • Issue #153815674: unable to view real gradle DataBinding error
  • Issue #156552742: Build output window does not help track down instant execution problems
  • C++:
  • Issue #169442540: Include header directories in project
  • Issue #168806413: Adobe Listening Session: In APK debugging, single import directory for all .so files
  • C++ Build:
  • Issue #159434435: Android Gradle Plugin 4.0: CMake argument starting from '-C' is not passed to cmake executable, rendering build broken
  • Issue #171300770: NullPointerException in CmakeServerExternalNativeJsonGenerator when refreshing linked C++ projects
  • C++ Debugger:
  • Issue #168647695: Remove rerun button from the native debug panel
  • Issue #37121046: Debugger type selection ignored/broken until I click "edit configurations"
  • Code Editor:
  • Issue #165821809: Android Studio 4.1 RC 1 continuous UI freezing
  • Issue #172840074: [Compose] Add placeholder for lambda functions
  • Issue #172655381: [Compose] Prefer extension functions over methods on the interface for Modifier
  • CPU:
  • Issue #170801047: Unable to create profiler recording configuration
  • Emulator:
  • Issue #162564820: "Enter" key doesn't work in Emulator tool window
  • Issue #155221674: Embedded Emulator: Feature request for device frame on/off
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process
  • Issue #162573673: Android Emulator in same window as studio does support drag and install of APK on emulator
  • Import/Sync:
  • Issue #169575797: Unable to download sources from maven.google.com
  • Issue #169971952: Android Gradle build freezes
  • Layout Editor:
  • Issue #139242310: Creating a layout file with specific qualifiers fails if a directory already exists with the same qualifiers
  • Issue #173198421: Request to insert missing font sizes into textview
  • Lint:
  • Issue #169897062: Lint fails with "Message: / by zero"
  • Issue #170210653: Android LintError when `suppressAnnotations` is provided as an empty list
  • Issue #169610406: Strange warning from RestrictToDetector for Kotlin property initialized by constructor call
  • Issue #167593732: Add SARIF as supported output format for Lint
  • Issue #170240589: [Lint] OutdatedLibrary false positive on firebase-crashlytics
  • Issue #171322374: ThreadDetector is broken in the IDE
  • Issue #170585495: Lint Baseline generates with platform depended file separators
  • Issue #170657532: AssertDetector warn false positive since AGP4.1
  • Navigation Editor:
  • Issue #170059094: Unresolved reference for NavArgs declared at top of (nested) NavGraph
  • Issue #164163197: Navigation destination search not working for "e", "r" and "o" letters
  • Issue #172694913: AS 4.2 performs incorrect case mapping for camelCase graph IDs when referencing Directions classes
  • New Code/Templates:
  • Issue #172268020: Unable to create modules in Android Studio
  • Release Bundle/APKs:
  • Issue #157584987: Android Gradle Plugin 3.6.x resulting larger .aab on debug build compared to AGP 3.5.x
  • Resource Manager:
  • Issue #171500188: Clip Art selector is empty
  • Run:
  • Issue #167977589: Run button disabled while Gradle sync is invalidated
  • Issue #170709330: "NoSuchMethodException: android.content.res.CompatResources.getLoaders []" when starting from Android Studio
  • Running Tests:
  • Issue #163791525: INSTALL_PARSE_FAILED_NO_CERTIFICATES when running test on multiple devices
  • Issue #162006827: Robolectric tests run in Android Studio 4.1 fail with a bad ASM dependency
  • Upgrade Assistant:
  • Issue #156100314: Consider handling Crashlytics versions in the upgrade assistant
  • Windows & Menus:
  • Issue #158718062: Request: bring back "export to ZIP" for projects

New in Android Studio 4.2 Beta 1 (Dec 2, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #171364505: Shrinking library with multidex enabled fails (after 4.0 -> 4.1 update)
  • Issue #172055303: Disabling android resources in libraries breaks unit tests
  • C++ Build:
  • Issue #171300770: NullPointerException in CmakeServerExternalNativeJsonGenerator when refreshing linked C++ projects
  • Lint:
  • Issue #170657532: AssertDetector warn false positive since AGP4.1
  • Release Bundle/APKs:
  • Issue #157584987: Android Gradle Plugin 3.6.x resulting larger .aab on debug build compared to AGP 3.5.x

New in Android Studio 4.1.1 (Nov 11, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #172055303: Disabling android resources in libraries breaks unit tests
  • Issue #171364505: Shrinking library with multidex enabled fails (after 4.0 -> 4.1 update)
  • Issue #170922353: Upgraded from AGP 4.0.2 to 4.1.0 and app crashes with Resources$NotFoundException: Resource ID #0x0
  • APK Debugging:
  • "Project Structure" does not show up for APK Debugging projects
  • Java Debugger crashes for API 29 and above
  • Apply Changes:
  • Issue #161692523: Can't run/debug with Android App run configuration if app is stopped and unchanged from last run/debug
  • AVD Manager:
  • Issue #159878401: "Cold Boot Now" on AVD Manager does not really cold boot emulator
  • C++:
  • Issue #171280381: #$(call import-module,android/cpufeatures) in Android.mk will import all files in disk root
  • Issue #171300770: NullPointerException in CmakeServerExternalNativeJsonGenerator when refreshing linked C++ projects
  • Code Editor:
  • Issue #165821809: Android Studio 4.1 RC 1 continuous UI freezing
  • Find Usage is slow for C++ methods.
  • Dexer (D8):
  • Issue #167649682: When CoreLibraryDesugaring is enabled and APK is installed manually, the types of variables mapped in Gson are not correct.
  • Embedded Emulator:
  • Touch events are displaced when started emulator in landscape
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process
  • Issue #163608541: First time emulator launch using run does not appear in the android studio window
  • Issue #162564820: "Enter" key doesn't work in Emulator tool window
  • Gradle Files Editor:
  • Issue #165969795: java.lang.NoClassDefFoundError: org/jetbrains/kotlin/resolve/constants/evaluate/ParseUtilsKt
  • Issue #162811644: Changing gradle files in Studio 4.1 displays two sync requests
  • Indexing:
  • Issue #171801044: Android Studio 4.1 with Gradle 6.5 is always indexing!!!
  • Issue #171334504: Updating indices covering full "c:" drive after update and even after reinstall
  • Profiling:
  • Issue #170801047: Unable to create profiler recording configuration
  • Native Memory Profiler not tracking all of memory
  • Issue #171564196: CPU profiler recording fails for pre-O devices: trace file was not parsed
  • Project System:
  • forced upgrades interrupt sync
  • Resource Manager:
  • Issue #171500188: Clip Art selector is empty
  • Run:
  • Issue #152941155: Feature Request: Project Property with Android Studio version.
  • Issue #160269604: Run command often does not start activity
  • Shrinker (R8):
  • Add retrace to Studio
  • Vertical Class Merging produces invalid dex for chrome
  • Retargeting of invokes to DesugarCollections breaks inlining
  • R8 Compilation failed (java.lang.NullPointerException)
  • Issue #170677722: Full mode - Fragment 1.3.0-beta01 - FORCE inlining on non-inlinable on FragmentManager
  • Issue #169584856: R8 - Compilation failed to complete
  • Issue #169045091: Android Gradle plugin v4.0.0 and Gradle v6.1.1 causes AbstractMethodError on protected methods

New in Android Studio 4.2 Canary 16 (Nov 6, 2020)

  • System Trace: Improved metrics for memory and graphics:
  • In the CPU profiler, the System Trace feature now includes new metrics for analyzing app performance:
  • Events Table: Displays all trace events in the currently selected thread.
  • New tracks and track groups:
  • BufferQueue: In the Display section, this new track shows the buffer count of the app's surface BufferQueue.
  • CPU Frequency: In the CPU cores section, this track shows how hard each core is working.
  • Process Memory (RSS): The new Process Memory (RSS) track group shows the amount of physical memory currently in use by the app.
  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #150133257: Sanitize flavor names in BuildConfig
  • Issue #170922353: Upgraded from AGP 4.0.2 to 4.1.0 and app crashes with Resources$NotFoundException: Resource ID #0x0
  • App Inspection:
  • Add IDE services for creating files
  • Have a way to stop the app inspector agent on the device
  • Apply Changes:
  • [Properly implement overlay diff
  • Apply Changes followed by a no-change IWI run removes the AC changes
  • Build Output:
  • Issue #156552742: Build output window does not help track down instant execution problems
  • Issue #153815674: unable to view real gradle DataBinding error
  • C++:
  • cxxLanguageKindFromExtension return CPP for most files, even if they are not CPP files
  • CPU:
  • [ChromeOS] C++ function tracing is not working: simpleperf depends on missing libncurses.so.5
  • Embedded Emulator:
  • Wear OS Round: display encroaches on device frame during startup
  • Gradle:
  • AGP recording OS version instead of OS name
  • Lint:
  • Issue #170585495: Lint Baseline generates with platform depended file separators
  • New Project Wizard:
  • [NewProject] Basic template illustration shadows are off with others
  • Profilers:
  • Update the "report a bug" link to use the right component
  • Running Tests:
  • Issue #162006827: Robolectric tests run in Android Studio 4.1 fail with a bad ASM dependency
  • Issue #170328018: AS 4.1+ fail to run junit tests, compailing about junit version being too low
  • Shrinker (R8):
  • Create a test for invalid signature rewriting
  • Issue #170915828: Failed to transform aar with StringIndexOutOfBoundsException when using R8 2.1.62 (used by AGP 4.1.0)
  • Issue #171369796: Method defined in both an interface and a base class throws null
  • Issue #171136616: R8 in AGP 4.1 optimization causes early initialization leading to NoClassDefFound error
  • Issue #171642432: Can't able to generate signed aab/apk with minifyEnabled set to true (> Task :app:minifyReleaseWithR8 FAILED)
  • Issue #171289133: Support allowshrinking modifier

New in Android Studio 4.2 Canary 15 (Nov 1, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Studio:
  • Issue #170733015: Update GPU import to 2.3.0
  • AVD Manager:
  • Issue #159878401: "Cold Boot Now" on AVD Manager does not really cold boot emulator
  • Build Analyzer:
  • Issue #168687609: Showing Resolution message and open memory settings button when garbage memory time is 0.0 sec
  • Issue #169569758: Task duration should not be "0.0 seconds"
  • CPU:
  • Issue #149108626: [System Trace V2] - Remove padding from top and bottom of minimap
  • Issue #170801047: Unable to create profiler recording configuration
  • Deployment:
  • Issue #169819270: Errors in logcat on first install without install after non-compatible change
  • Embedded Emulator:
  • Issue #155284464: Emulator tool window icon should be 13x13: emulator.svg
  • Emulator:
  • Issue #155221674: Embedded Emulator: Feature request for device frame on/off
  • Issue #162564820: "Enter" key doesn't work in Emulator tool window
  • Gradle:
  • Issue #169825560: Rename deprecation target from 5.0 to 7.0
  • New Project Wizard:
  • Issue #171074702: [NewModule] Missing border between left and details panel
  • Issue #169614872: [NewProject] Several spacing/alignment issues not built to-spec
  • Project System:
  • Issue #170389448: QuickFix to use JDK from project structure not working
  • Run:
  • Issue #170709330: "NoSuchMethodException: android.content.res.CompatResources.getLoaders []" when starting from Android Studio
  • Shrinker (R8):
  • Issue #170920164: "Unexpected usage left in method" error when compiling chrome with latest R8
  • Issue #171197204: Retargeting of invokes to DesugarCollections breaks inlining
  • Issue #170677722: Full mode - Fragment 1.3.0-beta01 - FORCE inlining on non-inlinable on FragmentManager
  • Testing:
  • Issue #170753826: Revise Multi-device tests opt-in flow
  • Additionally the issues below were addressed in this release but may not necessarily be fixed:
  • Apply Changes:
  • Issue #169812146: Improve Kotlin lambda error messages
  • Build:
  • Issue #171305664: CMake 3.18 support breaks when there's .asm file
  • Deployment:
  • Issue #170750947: Parallelize deployer for multiple devices
  • Emulator:
  • Issue #163608541: First time emulator launch using run does not appear in the android studio window
  • Import/Sync:
  • Issue #169971952: Android Gradle build freezes
  • Resources:
  • Issue #170867656: Bug: can't rename some resource files, and no way to reach translation tool if file isn't named "strings.xml"

New in Android Studio 4.2 Canary 14 (Oct 22, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Activity:
  • Issue #170026127: ActivityResultFragmentVersionDetector lint failure when using 1.2.0-beta01 with fragment 1.3.0-beta01
  • Issue #170026127: ActivityResultFragmentVersionDetector lint failure when using 1.2.0-beta01 with fragment 1.3.0-beta01
  • Android Gradle Plugin:
  • Issue #169252018: AGP fails to build libraries targeting java 1.7
  • Issue #164036336: Incremental changes with multi-release jars, or jars built with target 1.9 may break dexing
  • Issue #168091536: getText() and getString() trims new lines from the beginning of the string
  • Issue #138837769: Allow disabling resource validation in library modules (in parsing local resources)
  • Issue #169896233: Using jetpack compose breaks gradle configuration caching
  • C++:
  • Issue #169442717: Prevent Android Studio to include unrelated files in project
  • Issue #169442540: Include header directories in project
  • Issue #169442540: Include header directories in project
  • Issue #169442540: Include header directories in project
  • C++ Debugger:
  • Issue #169158699: Missing debug symbols, cannot debug .apk that is otherwise working fine
  • Import/Sync:
  • Issue #169575797: Unable to download sources from maven.google.com
  • Jetifier:
  • Issue #168038088: artifact replacements should use the version set in the project
  • Layout Editor:
  • Issue #157093849: Favorite attributes in UI layout editor not saved correctly
  • Lint:
  • Issue #169255669: Lint: ClassCastException in RestrictToDetector (related to KT-41290)
  • Issue #169483540: Lint false positive on ScopedStorage
  • Issue #170210653: Android LintError when `suppressAnnotations` is provided as an empty list
  • Issue #170210653: Android LintError when `suppressAnnotations` is provided as an empty list
  • Issue #167593732: Add SARIF as supported output format for Lint
  • Issue #170240589: [Lint] OutdatedLibrary false positive on firebase-crashlytics
  • Navigation Editor:
  • Issue #170059094: Unresolved reference for NavArgs declared at top of (nested) NavGraph
  • Resource Manager:
  • Issue #169449461: Image Asset Studio doesn't overwrite all old files when generating files for new adaptive icon
  • Running Tests:
  • Issue #163791525: INSTALL_PARSE_FAILED_NO_CERTIFICATES when running test on multiple devices
  • Issue #163791525: INSTALL_PARSE_FAILED_NO_CERTIFICATES when running test on multiple devices
  • Shrinker (R8):
  • Issue #169584856: R8 - Compilation failed to complete
  • Issue #169671295: More error handling for retrace command
  • Issue #163981284: The retrace api implementation should take a mapping file
  • Issue #169672210: [retrace] Print message on waiting for std-in
  • Testing:
  • Issue #156940162: Sorting column for status shouldn't be alphabetical
  • Upgrade Assistant:
  • Issue #156100314: Consider handling Crashlytics versions in the upgrade assistant

New in Android Studio 4.1 (Oct 13, 2020)

  • New Database Inspector:
  • Inspect, query, and modify your databases in your running app using the new Database Inspector. To get started, deploy your app to a device running API Level 26 or higher, and select View > Tool Windows > Database Inspector from the menu bar.
  • Run the Android Emulator directly in Android Studio:
  • You can now run the Android Emulator directly in Android Studio. Use this feature to conserve screen real estate, to navigate quickly between the emulator and the editor window using hotkeys, and to organize your IDE and emulator workflow in a single application window.
  • Use TensorFlow Lite models:
  • ML Model Binding makes it easy for you to directly import .tflite model files and use them in your projects. Android Studio generates easy-to-use classes so you can run your model with less code and better type safety.
  • Supported models:
  • The current implementation of ML Model Binding supports image classification and style transfer models, provided they are enhanced with metadata. Over time, support will be expanded to other problem domains, like object detection, image segmentation, and text classification.
  • A wide range of pre-trained models with metadata are provided on TensorFlow Hub. You can also add metadata to a TensorFlow Lite model yourself, as is outlined in Adding metadata to TensorFlow Lite model.
  • View model metadata and usage:
  • To see the details for an imported model and get instructions on how to use it in your app, double-click the model file in your project to open the model viewer page, which shows the following:
  • Model: High-level description of the model
  • Tensors: Description of input and output tensors
  • Sample code: Example of how to interface with the model in your app
  • Known issues and workarounds:
  • Support for TensorFlow Lite models for problem domains other than image classification and style transfer is currently limited. Although import should work fine, some model inputs and/or outputs are represented by TensorBuffers rather than friendly types. For models without any metadata, all model inputs and outputs will be TensorBuffers.
  • Models with Input and Output data types different from DataType.UINT8 or DataType.FLOAT32 are not supported.
  • Native Memory Profiler:
  • The Android Studio Memory Profiler now includes a Native Memory Profiler for apps deployed to physical devices running Android 10 or later. With the Native Memory Profiler, you can record memory allocations and deallocations from native code and inspect cumulative statistics about native objects.
  • Known issues and workarounds:
  • The Native Memory Profiler in Android Studio 4.1 does not work for Android 11 devices. Support for profiling Android 11 devices is currently available in the 4.2 preview release
  • As of the initial 4.1 release, app startup profiling has been disabled. This option will be enabled in an upcoming release.
  • As a workaround, you can use the Perfetto standalone command-line profiler to capture startup profiles.
  • System Trace UI: Easier selection, new analysis tab, and more frame rendering data:
  • The System Trace UI in the Android Studio profiler includes the following improvements:
  • Box selection: In the Threads section, you can now drag your mouse to perform a box selection of a rectangular area, which you can zoom into by clicking the Zoom to Selection button on the top right (or use the M keyboard shortcut). When you drag and drop similar threads next to each other, you can select across multiple threads to inspect all of them at once. For example, you may want to perform analysis on multiple worker threads.
  • Summary tab: The new Summary tab in the Analysis panel displays:
  • Aggregate statistics for all occurrences of a specific event, such as an occurrence count and min/max duration.
  • Trace event statistics for the selected occurrence.
  • Data about thread state distribution.
  • Longest-running occurrences of the selected trace event.
  • To navigate to another occurrence, select another row from the table:
  • Display data: In the Display section, new timelines for SurfaceFlinger and VSYNC help you investigate rendering issues in your app's UI.
  • Standalone profilers now available:
  • With the new standalone profilers, it's now possible to profile your app without running the full Android Studio IDE.
  • For instructions on using the standalone profilers, see Run standalone profilers.
  • Dagger navigation support:
  • Android Studio makes it easier to navigate between your Dagger-related code by providing new gutter actions and extending support in the Find Usages window.
  • New gutter actions: For projects that use Dagger, the IDE provides gutter actions that help you navigate between your Dagger-annotated code. For example, clicking on the gutter action next to a method that consumes a given type navigates you to the provider of that type. Conversely, clicking on the gutter action navigates you to where a type is used as a dependency.
  • Find Usages node: When you invoke Find Usages on a provider of a given type, the Find window now includes a Dependency consumer(s) node that lists consumers of that type. Conversely, invoking this action on a consumer of a Dagger-injected dependency, the Find window shows you the provider of that dependency.
  • Material Design Components: Updated themes and styles in new project templates:
  • Android Studio templates in the Create New Project dialog now use Material Design Components (MDC) and conform to updated guidance for themes and styles by default. Updates include:
  • MDC: Projects depend on com.google.android.material:material in build.gradle. Base app themes use Theme.MaterialComponents.* parents and override updated MDC color and “on” attributes.
  • Color resources: Color resources in colors.xml use literal names (for example, purple_500 instead of colorPrimary).
  • Theme resources: Theme resources are in themes.xml (instead of styles.xml) and use Theme. names.
  • Dark theme: Base application themes use DayNight parents and are split between res/values and res/values-night.
  • Theme attributes: Color resources are referenced as theme attributes (for example, ?attr/colorPrimary) in layouts and styles to avoid hard-coded colors.
  • IntelliJ IDEA 2020.1:
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2020.1 release, including a new Commit window that enables version control operations and a new Zen mode that can be toggled by selecting View > Appearance > Enter Distraction Free Mode.
  • Kotlin 1.3.72:
  • Android Studio 4.1 bundles Kotlin 1.3.72, which includes a number of fixes to improve Kotlin highlighting, inspections, and code completion. Check out the 1.3.72 Kotlin changelog for details.
  • Custom view preview:
  • When creating a custom view (for example, by extending the View or Button class), Android Studio now shows you a preview of your custom view. Use the dropdown menu in the toolbar to switch between multiple custom views, or click the buttons to wrap vertically or horizontally to the content.
  • Symbolication for native crash reports:
  • When a crash or ANR occurs in native code, the system produces a stack trace, which is a snapshot of the sequence of nested functions called in your program up to the moment it crashed. These snapshots can help you to identify and fix any problems in the source, but they must first be symbolicated to translate the machine addresses back into human-readable function names.
  • If your app or game is developed using native code, like C++, you can now upload debug symbols files to the Play Console for each version of your app. The Play Console uses these debug symbols files to symbolicate your app's stack traces, making it easier to analyze crashes and ANRs. To learn how to upload debug symbols files, see Native crash support.
  • Apply Changes:
  • To help you be more productive as you iterate on your app, we've made the following enhancements to Apply Changes for devices running Android 11 Developer Preview 3 or higher:
  • Faster deploy speeds:
  • We've invested heavily in optimizing your iteration speed by developing a method to deploy and persist changes on a device without installing the application. After an initial deploy, subsequent deploys to Android 11 devices using either Apply Code Changes or Apply Changes and Restart Activity are now significantly faster. To learn more about the difference between these two actions, see Apply Changes.
  • Support for additional code changes:
  • For devices running Android 11 Developer Preview 3 or higher, you can now add methods and then deploy those changes to your running app by clicking either Apply Code Changes or Apply Changes and Restart Activity

New in Android Studio 4.0.2 (Oct 7, 2020)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Dexer (D8):
  • Issue #158502561: Invalid Maven POM file for the desugar_jdk_libs_configuration artifact
  • Issue #160905482: Desugaring broken for subclasses of ConcurrentHashMap
  • Issue #160909126: coreLibraryDesugaringEnabled seems to break ConcurrentHashMap when using Gson and reflection
  • Issue #159275214: [library desugar] Desugar java.util.TimeZone.getTimeZone(ZoneId zoneId)
  • Layout Editor:
  • Issue #162809072: When I change a xml id attribute at Design mode, studio popup and ask changing another id. I click "No(local)" but studio find and change same name id in another files.
  • Lint:
  • Issue #158128960: AGP 4.0 false positive Instantiatable Lint check if Application extends java class
  • Issue #155088391: Can no longer specify layout_height and layout_width in a style
  • Motion Editor:
  • Issue #162506565: Motion Editor does not support the Release Candidates
  • Shrinker (R8):
  • Issue #160351050: Enum inlining uses the "wrong" name sometimes
  • Issue #160942326: Runtime errors when using R8 2.0+
  • Issue #167704467: Fatal Exception: java.lang.VerifyError
  • Issue #160901582: CompilationError during R8 phase when optimizations enabled
  • Issue #160769273: ConcurrentModificationException: TreeMap$PrivateEntryIterator.nextEntry

New in Android Studio 4.2 Canary 13 (Oct 2, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #167966251: Use build service for project options
  • Build Variants:
  • Issue #156857164: Can't select a build variant (flavor)
  • Code Editor:
  • Issue #168784098: getValue operator extension is not automatically imported for mutableStateOf/state
  • Import/Sync:
  • Issue #151654753: After Gradle sync, running app causes another Gradle sync
  • Lint:
  • Issue #168794947: Lint's Parcelize check has false positives when using the new @Parcelize annotation
  • Upgrade Assistant:
  • Issue #169234685: Autosuggestion for API 29 is faulty
  • Additionally the issues below were addressed in this release but may not be necessarily fixed:
  • Dexer (D8):
  • Issue #169183194: D8 mergeProjectDexDebug fails on AS / AGP 4.2.0-alpha12 due to SafeArgs generated classes
  • Jetpack Compose:
  • Issue #169230467: Empty Composable does not render in the Studio preview
  • Run:
  • Issue #156855259: Different runtime behavior of started service via Studio "Run" button
  • Issue #168763389: Android studio doesn't install the app
  • Upgrade Assistant:
  • Issue #156100314: Consider handling Crashlytics versions in the upgrade assistant

New in Android Studio 4.2 Canary 12 (Sep 23, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Build:
  • Issue #135292528: Support setting JDK for Gradle Daemon started by Android Studio via env variable
  • Issue #140403764: NDK Resolution Outcome: Project settings: Gradle model version=5.4.1, NDK version is UNKNOWN
  • Layout Editor:
  • Issue #140678037: Visualization tab disappears in 3.6 Canary 10
  • Lint:
  • Issue #133465551: Lint 26.5.0-beta02 DefaultLocale triggers on Kotlin's decapitalize method
  • Issue #140988425: Provide quick fix for RtlHardcoded
  • View Binding:
  • Issue #140882630: ViewBinding cannot determine Class due to uppercase package name

New in Android Studio 4.2 Canary 11 (Sep 18, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #166582569: AGP compiles against Kotlin 1.4 and runs against 1.3.72
  • Code Editor:
  • Issue #167417473: Back action (Cmd+Option+

New in Android Studio 4.1 RC 3 (Sep 16, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #164163031: Android Studio 4.1 RC1 is not installing test apk built using AGP 4.1 RC1 on Emulator
  • Issue #162244493: Can't reference test APK references in AGP 4.1
  • Issue #165343136: AGP 4.1-rc01: exception during AS sync
  • Issue #164844098: 4.1RC "Duplicate resources" build failure from drawable in -v24 directory
  • Issue #165535092: Multi-release classes from dirs should be ignored when dexing
  • Lint:
  • Issue #79995034: Lint unused id does not take in account constraint_referenced_ids
  • Running Tests:
  • Issue #162255811: Unit testing fails to find some classes/methods in Studio 4.1

New in Android Studio 4.2 Canary 10 (Sep 9, 2020)

  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #166582569: AGP compiles against Kotlin 1.4 and runs against 1.3.72
  • Issue #166468915: Can't sync with AGP 4.2.0-alpha08 and Kotlin build scripts
  • Jetpack (androidx):
  • Issue #37077964: Data binding doesn't handle accented characters in ids
  • Running Tests:
  • Issue #166291465: Test results panel in Android Studio 4.2 marks tests with failed assumptions as failed
  • Additionally the issues below were addressed in this release but may not be necessarily fixed:
  • Android Gradle Plugin:
  • Issue #37797956: Switch to new models (v2).
  • Import/Sync:
  • Issue #166240410: Switching variants with composite build (includeBuild) is broken
  • Indexing:
  • Issue #167014937: Hang when window loses focus [Android Studio 4.2 canary 8]
  • Upgrade Assistant:
  • Issue #163364829: Bug: stable, beta and canary can't open Google's own sample project

New in Android Studio 4.2 Canary 9 (Sep 3, 2020)

  • Support for Safe Args:
  • Safe Args is a Gradle plugin that generates simple object and builder classes for type-safe navigation and access to any associated arguments. Android Studio 4.2 Canary 9 and higher includes special support when working with Safe Args, as described below:
  • Autocompletions for Directions, Args, and the various builder classes
  • Support for both Java and Kotlin safe args plugins
  • Navigation from source to XML
  • General Fixes:
  • This update includes fixes for the following issues:
  • Android Gradle Plugin:
  • Issue #64551265: Allow application of the Android Gradle plugins using Gradle's plugins block
  • Issue #164163031: Android Studio 4.1 RC1 is not installing test apk built using AGP 4.1 RC1 on Emulator
  • Issue #165833833: Break if ANDROID_SDK_HOME and ANDROID_PREFS_ROOT point to different location
  • Issue #166168605: AndroidLocation should use a logger object to output warnings.
  • Android Studio:
  • Issue #166161723: Invalid "Using ANDROID_SDK_HOME for the location" warning: env var not set
  • Import/Sync:
  • Issue #165017523: Android IntelliJ plugin: Gradle sync failed: Property found to be invalid, this should never happen!
  • Lint:
  • Issue #79995034: Lint unused id does not take in account constraint_referenced_ids
  • Issue #166113037: Line fails with StackOverflowError with core lib desugaring enabled
  • Issue #163512022: Allow custom lint jars to be specified via lint.xml
  • Issue #161410735: Applying LintFix in different file than warning fails
  • View Binding:
  • Issue #164794528: ViewBinding - tag should be excluded from generated binding fields

New in Android Studio 4.1 RC 2 (Sep 1, 2020)

  • This update includes fixes for the following public issues:
  • Issue #122554774: Error before lint: Resolving this BuildableArtifact can only done during task execution.
  • Issue #124227171: Android manifest contains incorrect values for platformBuildVersionCode and platformBuildVersionName
  • Issue #123558506: R8 won't compress APK's kotlin folder
  • Issue #120779854: Android Studio Freezes processing logcat
  • Issue #123409929: Cannot find symbol java.util.List
  • Issue #110463869: Preview tab
  • Issue #123776985: Navigation editor generates wrong reference for arguments that are public static inner classes
  • Issue #120609432: Support Serializable (incl enums) and arrays for arguments
  • Issue #122846702: R class navigation doesn't work with AS 3.3 and AGP 3.2
  • Issue #123985288: Some lint quickfixes that are not registered with autoFix=true are applied by the lintFix gradle task
  • Issue #124329575: [New PSD] Module type is not detected if android plugin is not the first one
  • Issue #124074412: Create API to return the result of "adb devices" from the command line
  • Issue #124070991: Make WindowsParser error handling more robust
  • Issue #123886074: Update the Connection Assistant to decorate devices based on whether ADB and ddmslib sees them
  • Issue #112324902: sdk manager patch merge conflict dialog contrast too low
  • Issue #123677458: Creating a new project should explicitly set project name in settings.gradle via rootProject.name = "..."
  • Issue #123311600: Manifest merger failed when deep linking in navigation graph

New in Android Studio 4.1 RC 1 (Aug 11, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #161405989: Projects using ivy repositories cannot sync
  • Issue #161774530: LintChecks configuration resolved in non-lenient way
  • Deployment:
  • Issue #160192216: Bug: still can't build&run a new project on Android Studio
  • Lint:
  • Issue #161362796: False positives in lint check NonConstantResourceIdDetector

New in Android Studio 4.2 Canary 7 (Jul 31, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #161774530: LintChecks configuration resolved in non-lenient way
  • Issue #161405989: Projects using ivy repositories cannot sync
  • Issue #160714171: ProductFlavor collections/maps are now immutable in AGP 4.1.0
  • Issue #156837289: Data Binding errors are lost with kapt
  • Deployment:
  • Issue #160192216: Bug: still can't build&run a new project on Android Studio
  • Third Party Plugins:
  • Issue #152328198: Cannot upgrade Kotlin plugin via UI in Android Studio
  • Additionally the issue below was addressed in this release but may not necessarily be fixed:
  • Import/Sync:
  • Issue #158846149: Gradle OOM when syncing with AGP 4.1.0-beta01

New in Android Studio 4.2 Canary 6 (Jul 29, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #160155450: BuildConfig not correctly honoring contract around quotations in String[]
  • Issue #157590496: Make the order of entries in APKs deterministic for clean debug builds, unless building from AS
  • Layout Inspector:
  • Issue #155920880: Layout Inspector preview is jumping all over the place
  • Lint:
  • Issue #155088391: Can no longer specify layout_height and layout_width in a style
  • Issue #161370707: Lint assertion check flags simple instanceof checks
  • Build Variants:
  • Issue #160851593: Build Variants for dynamic feature modules don't switch when app's build variant is switched
  • Testing:
  • Issue #144891963: Running an individual instrumented test doesn't work
  • Upgrade Assistant:
  • Issue #139769779: Dialog for recommendation about "Android Gradle Plugin Update" shows up in the wrong Android Studio Window
  • Additionally the below issues were addressed in this release but may not necessarily be fixed:
  • Build Variants:
  • Issue #160851593: Build Variants for dynamic feature modules don't switch when app's build variant is switched
  • Testing:
  • Issue #144891963: Running an individual instrumented test doesn't work
  • Upgrade Assistant:
  • Issue #139769779: Dialog for recommendation about "Android Gradle Plugin Update" shows up in the wrong Android Studio Window

New in Android Studio 4.1 Beta 5 (Jul 24, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #155318103: Post-tasks variant API: Adding manifest placeholders is broken and breaks the build from AGP 3.x to AGP 4.1.0-alpha08
  • Issue #160714171: ProductFlavor collections/maps are now immutable in AGP 4.1.0
  • Issue #156837289: Data Binding errors are lost with kapt
  • Issue #159878591: False positive lint check: "non-constant resource ID should not be used as annotation attribute"
  • Layout Editor:
  • Issue #160102699: Navigation Drawer Menu XML preview not working/rendering
  • Layout Inspector:
  • Issue #155920880: Layout Inspector preview is jumping all over the place
  • Lint:
  • Issue #155088391: Can no longer specify layout_height and layout_width in a style

New in Android Studio 4.1 Beta 4 (Jul 24, 2020)

  • System Trace UI Improvements:
  • The System Trace UI in the Android Studio profiler now includes:
  • Box selection: In the Threads section, you can now drag your mouse to perform a box selection of a rectangular area and select across multiple threads to inspect all of them at once.
  • Analysis Summary tab: The new Summary tab in the Analysis panel displays information about trace events and thread states.
  • Display data: In the Display section, new timelines for SurfaceFlinger and VSYNC help you investigate rendering issues in your app's UI.
  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #158747359: ./gradlew connectedCheck fails with "com.android.ddmlib.InstallException: Unknown failure: Error: Unknown option: -g"
  • Issue #160155450: BuildConfig not correctly honoring contract around quotations in String[]
  • Issue #157781501: Android gradle plugin fails to generate test coverage report with Gradle 6.4.1
  • Issue #160330055: GradleAnalyticsEnvironment leaks ProviderFactory
  • Issue #159871229: Debug build causes duplicate definitions for desugared library classes
  • Database Inspector:
  • Issue #159993801: Double click on a NULL cell replaces NULL with empty string
  • Dexer (D8):
  • Issue #158644894: Unable to build with Java desugaring in AGP 4.1.0-beta01
  • Issue #159275214: [library desugar] Desugar java.util.TimeZone.getTimeZone(ZoneId zoneId)
  • Import/Sync:
  • Issue #156772381: Bug: IDE tells me to update a file that doesn't exist, and in illogical place, of gradle version
  • Lint:
  • Issue #157781491: Lint using incorrect SDK version
  • Shrinker (R8):
  • Issue #160351050: Enum inlining uses the "wrong" name sometimes

New in Android Studio 4.2 Canary 5 (Jul 22, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #160155450: BuildConfig not correctly honoring contract around quotations in String[]
  • Issue #158747359: ./gradlew connectedCheck fails with "com.android.ddmlib.InstallException: Unknown failure: Error: Unknown option: -g"
  • Issue #160330055: GradleAnalyticsEnvironment leaks ProviderFactory
  • Issue #157781501: Android gradle plugin fails to generate test coverage report with Gradle 6.4.1
  • Issue #159871229: Debug build causes duplicate definitions for desugared library classes
  • Issue #146163513: Configuration caching - connectedAndroidTest task state cannot be serialized
  • Issue #112699321: Support APK Signature Scheme v3
  • Issue #159685888: Merge java resource error message is not very useful
  • Issue #159434426: applicationIdSuffix cannot be empty
  • C++ Build:
  • Issue #159411906: externalNativeBuildClean runs preBuild also when using AGP 4.0.0
  • Database Inspector:
  • Issue #159993801: Double click on a NULL cell replaces NULL with empty string
  • Import/Sync:
  • Issue #156772381: Bug: IDE tells me to update a file that doesn't exist, and in illogical place, of gradle version
  • Jetpack (androidx):
  • Issue #159160314: Veracode scan raises couple of flaws.
  • Lint:
  • Issue #157781491: Lint using incorrect SDK version
  • New Code/Templates:
  • Issue #159364425: Can't create activity or fragment after updating Android Studio to 4.0
  • Issue #159832672: Bug: creating a new project with the wizard, it doesn't use the label for the toolbar title
  • Running Tests:
  • Issue #155650225: Show duration of a test in test results
  • View Binding:
  • Issue #159948398: View Binding classes are not resolved in Studio 4.0+ when two modules share the same layout name+app ID

New in Android Studio 4.0.1 (Jul 16, 2020)

  • General fixes:
  • Android Gradle Plugin:
  • Issue #154069245: Jacoco task reprocessed the same files too many times - incremental builds
  • Issue #157446242: buildbuild-attributionandroidGradlePluginAttributionData: The process cannot access the file because it is being used by another process
  • Issue #157888755: versionName wrong in output.json file after building .apk
  • Issue #140747218: Improve error messages for exceptions thrown from Jetifier
  • Dexer (D8):
  • Issue #157806261: One or more instruction is preventing default interface method from being desugared: java.util.function.Consumer it.unimi.dsi.fastutil.chars.CharConsumer.andThen(java.util.function.Consumer)
  • Issue #158815562: Desugaring: static methods don't work for subclasses
  • Issue #156142802: Backport changes that made D8 lenient with non-sense line numbers and local variable table
  • Issue #148661132: Assertion error on valid locals info
  • Issue #158124557: Library desugaring does not rewrite generic signature
  • Import/Sync:
  • Issue #158018185: When using "make project", AS reports build failures when using Kotlin DSL in buildSrc
  • Shrinker (R8):
  • Issue #157966650: R8 2.0.74 raise NullPointerException with -dontobfuscate option.
  • Issue #158432019: IncompatibleClassChangeError happens with R8 + Kotlin object + Java lambda
  • Issue #158018192: R8 2.0.74 produces invalid dex file when build "release" mode
  • Issue #157223339: R8 2.0.74 Return of service loader rewrite issues
  • Issue #157926129: minifyReleaseWithR8 throws java.lang.StackOverflowError after updating Gradle Plugin to 4.0.0
  • Testing:
  • Issue #146447085: Cannot run Android Instrumented Tests on Simulator with API < 21

New in Android Studio 4.2 Canary 4 (Jul 9, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #158201643: ExtractAnnotations should be compatible with configuration caching
  • Issue #37122098: Fix renderscriptNdk
  • Issue #155215177: Android gradle build: excluded java source files get compiled:
  • Code Analysis:
  • Issue #36978767: Add corresponding Intention for inspection "Toast created but not shown: did you forget to call show() "
  • Issue #62405955: (Feature request) Provide inspection for missing show() call on Snackbar
  • Database Inspector:
  • Issue #157461456: Database inspector disappear from toolbar
  • Issue #159575631: Simple (and complex) query using With clause doesn't work on the Database Inspector
  • Emulator:
  • Issue #158874142: Studio clipboard does not pick up clipboard selection from the emulator
  • Lint:
  • Issue #140626689: False positive for Service.onStartCommand return value WrongConstant check
  • Issue #119711823: "Invalid format string" lint rule doesn't report issue for a space in patern "% s"
  • Issue #136534380: "Buttons in button bars should be borderless" warning in a layout XML doesn't have an auto-fix option
  • Issue #77299597: "Combining ellipsize=middle and maxLines=1..." warning should not show when minSdkVersion is 23 or higher
  • Issue #74058591: "Unexpected failure during lint analysis" for invalid replace string quick fix masks actual problem
  • Issue #111035260: "enable 'LogConditional'" doesn't enable check
  • Issue #37053735: "Unexpected cast" Inspection should offer replacement suggestion
  • Issue #62810553: "android:host is missing" for uris with null host
  • Issue #158295165: Android Lint: Unknown Issue IDs should NOT break the build
  • Issue #158189490: NewApi lint check does not factor in usage of core library desugaring
  • Manifests:
  • Issue #158406168: Navigation component Illegal circular reference among navigation files when traversing navigation file references starting with navigationXmlId
  • New Code/Templates:
  • Issue #37105561: UX: Bad proportions in new layout resource window
  • Resources:
  • Issue #151480852: Bug: color preview in colors.xml file can show the wrong one, referenced by a different qualifier
  • SDK Manager:
  • Issue #159176695: cmdline-tools on mac packaged incorrectly
  • View Binding:
  • Issue #158065847: Autocomplete for binding classes in Android Studio 4.0 could be better

New in Android Studio 4.1 Beta 3 (Jul 9, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #156169950: variable Mutable collections BREAK source compatibility and Gradle sync on AGP upgrade from 3.x to 4.1.0-alpha09
  • Database Inspector:
  • Issue #157461456: Database inspector disappear from toolbar
  • Issue #159575631: Simple (and complex) query using With clause doesn't work on the Database Inspector
  • Lint:
  • Issue #140626689: False positive for Service.onStartCommand return value WrongConstant check
  • Issue #158189490: NewApi lint check does not factor in usage of core library desugaring

New in Android Studio 4.2 Canary 3 (Jul 1, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #158545411: Non-shrunk desugared library should only be packaged in the app APK
  • Issue #143862922: Warn when flatDir repository is used in the build
  • Issue #37069473: add hint text for TransformException DuplicateFileException 1.5 plugin
  • Issue #140747218: Improve error messages for exceptions thrown from Jetifier
  • Build Analyzer:
  • Issue #157673275: ProcessDataBinding is not working incrementally
  • C++ Import/Sync:
  • Issue #157901344: jniLibs and CMake IMPORTED targets - impossible to import native libraries!!!!!!
  • Emulator:
  • Issue #156865227: Zooming in on the emulator causes visual flicker
  • Import/Sync:
  • Issue #156112443: Invalid Gradle JDK configuration found
  • Lint:
  • Issue #140699627: Lint fail when using StringRes as field of an enum used as SafeArgs argument
  • Issue #159169803: RequiredSize check triggers on AndroidManifest.xml files in directories named "layout"
  • New Project Wizard:
  • Issue #130594965: New AdMob Activity crashes when running on device
  • Resources:
  • Issue #158212024: Classes generated by safeargs plugin are not seen by indexer

New in Android Studio 4.1 Beta 2 (Jun 26, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #158468794: AGP 4.1 alpha 9 & 10 can't run task :tasks on root module. DefaultTaskContainer#register(String, Class, Action) on task set cannot be executed in the current context.
  • Issue #140747218: Improve error messages for exceptions thrown from Jetifier
  • Issue #154742527: Stop relying on build listeners to clean up state
  • Build Analyzer:
  • Issue #157673275: ProcessDataBinding is not working incrementally
  • Build Output:
  • Issue #147776458: Rewrite compiler errors about incorrect Java level and provide quick fixes
  • Database Inspector:
  • Issue #157461455: Database inspector shows duplicated "Database" groups
  • Dexer (D8):
  • Issue #157806261: One or more instruction is preventing default interface method from being desugared: java.util.function.Consumer it.unimi.dsi.fastutil.chars.CharConsumer.andThen(java.util.function.Consumer)
  • Issue #158815562: Desugaring: static methods don't work for subclasses
  • Emulator:
  • Issue #158874142: Studio clipboard does not pick up clipboard selection from the emulator
  • Issue #157181475: View > Emulator doesn't toggle
  • Issue #156865227: Zooming in on the emulator causes visual flicker
  • Gradle:
  • Issue #156824496: AGP no longer supports float and various other types of build config fields
  • Gradle Files Editor:
  • Issue #157287524: Bug: IDE suggest to update gradle version for a new project, and then fails to update it well when applied
  • Import/Sync:
  • Issue #156992679: Quickfix for java 8 desugaring should not update min-sdk
  • Issue #156112443: Invalid Gradle JDK configuration found
  • Issue #158018185: When using "make project", AS reports build failures when using Kotlin DSL in buildSrc
  • Layout Inspector:
  • Issue #156787539: layout inspector doesn't detect running device
  • Lint:
  • Issue #140699627: Lint fail when using StringRes as field of an enum used as SafeArgs argument
  • Issue #159169803: RequiredSize check triggers on AndroidManifest.xml files in directories named "layout"
  • Navigation Editor:
  • Issue #156772383: Multiple vmoptions files: Illegal char while parsing jb.vmOptionsFile
  • Profilers:
  • Issue #143467035: Build fails with advanced profiling enabled + Gson 2.8.6 dependency
  • Resources:
  • Issue #158212024: Classes generated by safeargs plugin are not seen by indexer
  • Shrinker (R8):
  • Issue #158018192: R8 2.0.74 produces invalid dex file when build "release" mode
  • Issue #157966650: R8 2.0.74 raise NullPointerException with -dontobfuscate option.
  • Issue #158454684: Support for multiple class specification annotations
  • Issue #157926129: minifyReleaseWithR8 throws java.lang.StackOverflowError after updating Gradle Plugin to 4.0.0
  • Upgrade Assistant:
  • Issue #120273289: Don't recommend updating android gradle plugin to alpha version when my android studio version is a beta (and likewise for stable->beta)
  • WorkManager:
  • Issue #147481889: Lint False Positive for EnqueueWork

New in Android Studio 4.2 Canary 2 (Jun 19, 2020)

  • General Fixes:
  • Android:
  • Issue #156673459: [AS Integration] Wording for the warning of AGP version is lower than AS
  • Issue #157696585: Review wordings used by the Ml Model Binding feature
  • Issue #158129876: [AS Integration] Mac only: table header display with ellipsis when column content is too short
  • Android App Bundles:
  • Issue #120517460: Unable to use `shrinkResources` in base module with dynamic features
  • Android Gradle Plugin:
  • Issue #112699321: Support APK Signature Scheme v3
  • Issue #158468794: AGP 4.1 alpha 9 & 10 can't run task :tasks on root module. DefaultTaskContainer#register(String, Class, Action) on task set cannot be executed in the current context.
  • Database Inspector:
  • Issue #157461455: Database inspector shows duplicated "Database" groups
  • Deployment:
  • Issue #146270367: The device disconnects as soon as the build completes.
  • Emulator:
  • Issue #157181475: View > Emulator doesn't toggle
  • Issue #150051156: Android Studio not AMD processor friendly; tries to automatically install Intel drivers rather than AMD.
  • Gradle:
  • Issue #157463496: Add integration tests for Manifest Class Generation (GenerateManifestJarTask)
  • Gradle Files Editor:
  • Issue #157287524: Bug: IDE suggest to update gradle version for a new project, and then fails to update it well when applied
  • Import/Sync:
  • Issue #158018185: When using "make project", AS reports build failures when using Kotlin DSL in buildSrc
  • New Code/Templates:
  • Issue #157809813: Default module name has two columns (::mylibrary) instead of only one (:mylibrary).
  • Running Tests:
  • Issue #157175636: In the multi-device test runner, install APKs in parallel
  • Upgrade Assistant:
  • Issue #120273289: Don't recommend updating android gradle plugin to alpha version when my android studio version is a beta (and likewise for stable->beta)

New in Android Studio 4.1 Beta 1 (Jun 11, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Studio:
  • Issue#157600808: Incorrect colors in HTML panels
  • Build Analyzer:
  • Issue#156912028: Rebuild project' triggers warning for 'clean' not being incremental
  • ML Model Binding:
  • Issue#157231325: Model binding library requires minSdkVersion 19
  • Issue#157232653: Try/catch in Kotlin example
  • Run:
  • Issue#155359024: Run configuration is not compatible

New in Android Studio 4.2 Canary 1 (Jun 11, 2020)

  • General Fixes:
  • Android Studio:
  • Issue #157600808: Incorrect colors in HTML panels
  • Issue #154895146: Add kotlinCompilerExtensionVersion to Compose Project template
  • Benchmark:
  • Issue #156065464: Benchmark report missing
  • Build Analyzer:
  • Issue #156912028: Rebuild project' triggers warning for 'clean' not being incremental
  • Code Editor:
  • Issue #154494808: Missing additional imports for delegates to make by state work confusing
  • Issue #156526255: Deadlock with the compose editor support
  • Issue #156549971: Compose preview docs only show up after the second exposure
  • Gradle:
  • Issue #156824496: AGP no longer supports float and various other types of build config fields
  • Import/Sync:
  • Issue #156992679: Quickfix for java 8 desugaring should not update min-sdk
  • Layout Inspector:
  • Issue #156787539: layout inspector doesn't detect running device
  • Memory:
  • Issue #157140322: Make finding GC roots more obvious
  • ML Model Binding:
  • Issue #157232653: Try/catch in Kotlin example
  • Issue #157231325: Model binding library requires minSdkVersion 19
  • New Project Wizard:
  • Issue #150203801: When there is a compile error, the build output has a wrong encode
  • Resources:
  • Issue #157232598: Unknown attribute for "class" attribute in view tag
  • Run:
  • Issue #155359024: Run configuration is not compatible
  • Search:
  • Issue #152432842: Navigate to symbol fails to find any symbols
  • View Binding:
  • Issue #151810671: Data Binding / View Binding: Unescaped "&" in a comment causes fields not to be autocompleted

New in Android Studio 4.0 (May 29, 2020)

  • Android Gradle plugin 4.0.0
  • The latest version of the Android Gradle plugin includes many updates, such as Java 8 desugaring for older versions of Android and feature-on-feature dependencies. To learn more, read the full Android Gradle plugin release notes.
  • Additionally, Android Studio now includes new features to help you improve your build performance.
  • Build Analyzer
  • When using Android Studio 4.0 with Android Gradle plugin 4.0.0 and higher, the Build Analyzer window helps you understand and diagnose issues with your build process, such as disabled optimizations and improperly configured tasks. To open the Build Analyzer window, proceed as follows:
  • If you haven’t already done so, build your app by selecting Build > Make Project from the menu bar.
  • Select View > Tool Windows > Build from the menu bar.
  • In the Build window, open the Build Analyzer window in one of the following ways:
  • After Android Studio finishes building your project, click the Build Analyzer tab.
  • After Android Studio finishes building your project, click the link in the right side of the Build Output window.
  • The Build Analyzer window organizes possible build issues in a tree on the left. You can inspect and click on each issue to investigate its details in the panel on the right. When Android Studio analyzes your build, it computes the set of tasks that determined the build’s duration and provides a visualization to help you understand the impact of each of these tasks. You can also get details on warnings by expanding the Warnings node.
  • Java 8 library desugaring in D8 and R8
  • Android Studio now includes support for using a number of Java 8 language APIs without requiring a minimum API level for your app.
  • Through a process called desugaring, the DEX compiler, D8, in Android Studio 3.0 and higher already provided substantial support for Java 8 language features (such as lambda expressions, default interface methods, try with resources, and more). In Android Studio 4.0, the desugaring engine has been extended to be able to desugar Java language APIs. This means that you can now include standard language APIs that were available only in recent Android releases (such as java.util.streams) in apps that support older versions of Android.
  • The following set of APIs is supported in this release:
  • Sequential streams (java.util.stream)
  • A subset of java.time
  • java.util.function
  • Recent additions to java.util.{Map,Collection,Comparator}
  • Optionals (java.util.Optional, java.util.OptionalInt and java.util.OptionalDouble) and some other new classes useful with the above APIs
  • Some additions to java.util.concurrent.atomic (new methods on AtomicInteger, AtomicLong and AtomicReference)
  • ConcurrentHashMap (with bug fixes for Android 5.0)
  • To support these language APIs, D8 compiles a separate library DEX file that contains an implementation of the missing APIs and includes it in your app. The desugaring process rewrites your app’s code to instead use this library at runtime.
  • Feature-on-feature dependencies:
  • In previous versions of the Android Gradle plugin, all Dynamic Feature modules could depend only on the app's base module. When using Android Gradle plugin 4.0.0 and higher, you can now include a feature module that depends on another feature module. That is, a :video feature can depend on the :camera feature, which depends on the base module.
  • This means that when your app requests to download a dynamic feature module, the app also downloads other feature modules it depends on. After you create dynamic feature modules for your app, you can declare a feature-on-feature dependency in the module’s build.gradle file. For example, the :video module declares a dependency on :camera.
  • Additionally, you should enable the feature-on-feature dependency feature in Android Studio (to support the feature when editing the Run configuration, for example) by clicking Help > Edit Custom VM Options from the menu bar and including the following: -Drundebug.feature.on.feature=true
  • Dependencies metadata:
  • When building your app using Android Gradle plugin 4.0.0 and higher, the plugin includes metadata that describes the dependencies that are compiled into your app. When uploading your app, the Play Console inspects this metadata to provide you with the following benefits:
  • Get alerts for known issues with SDKs and dependencies your app uses
  • Receive actionable feedback to resolve those issues
  • The data is compressed, encrypted by a Google Play signing key, and stored in the signing block of your release app. However, you can inspect the metadata yourself in the local intermediate build files in the following directory: //build/outputs/sdk-dependencies/release/sdkDependency.txt.
  • Support for Kotlin DSL script files:
  • The Android Gradle plugin now supports Kotlin DSL build script files (*.kts). When used with Android Studio, certain IDE features, such as the Project Structure dialog and build script quick fixes, now also support reading and writing to Kotlin build script files.
  • CPU Profiler upgrades:
  • Based on your feedback, we've focused our efforts on improving the user experience in the CPU Profiler in two important ways.
  • First, compared to previous Android Studio releases, error rates for CPU recordings in the CPU Profiler have been reduced significantly.
  • Second, the CPU Profiler UI has been overhauled to provide a more intuitive workflow. Some notable UI changes include the following:
  • CPU recordings are now separated from the main profiler timeline to allow for easier analysis. Recorded data are organized in groups on the left side of the Profiler window. You can move groups up and down to reorganize the list by clicking the options options icon in profiler iconicon in the top-right corner of the window, or by dragging-and-dropping individual items within a group.
  • The tabs for Flame Chart, Top Down, and Bottom Up analyses are now in the righthand column. In the Threads group, threads are automatically expanded for System Trace recordings and collapsed by default for other recording types. Double-click (or press Enter) on thread names to expand or collapse them.
  • The System Trace UI, as shown in the screenshot, also includes improvements.
  • Events are now uniquely colored for easier differentiation.
  • Threads are sorted by the number of trace events within them so that the “busier” threads are ranked higher in the list.
  • You can select one or more threads to see analysis in the right hand column for those selected threads only.
  • Similarly you can select a trace event within any thread to see analysis data for it.
  • Design tools:
  • This version of Android Studio includes updates to the design tools, such as the Layout Inspector and an all-new Motion Editor.
  • New Motion Editor:
  • Android Studio now includes a visual design editor for the MotionLayout layout type, making it easier to create and preview animations.
  • The Motion Editor provides a simple interface for manipulating elements from the MotionLayout library that serves as the foundation for animation in Android apps. In previous releases, creating and altering these elements required manually editing constraints in XML resource files. Now, the Motion Editor can generate this XML for you, with support for start and end states, keyframes, transitions, and timelines.
  • Live Layout Inspector:
  • Debug your layout with an updated Live Layout Inspector that provides complete, real-time insights into your app’s UI while it’s deployed to a device.
  • To open a Layout Inspector window, go to View > Tools Windows > Layout Inspector. Along with many of the same features of the existing Layout Inspector, the Live Layout Inspector also includes:
  • Dynamic layout hierarchy: Updates as the views on the device change.
  • Property values resolution stack: Investigate where a resource property value originates in the source code and navigate to its location by following the hyperlinks in the properties pane.
  • 3D view: See your app’s view hierarchy at runtime with advanced 3D visualization. To use this feature, in the Live Layout Inspector window simply click on the Layout and rotate it.
  • You can use the Live Layout Inspector only when deploying your app to a device or emulator running API level 29 or higher. To enable the Live Layout Inspector, go to File > Settings > Experimental and check the box next to Enable Live Layout Inspector. Then click the checkbox next to Live updates above the Layout Display.
  • Layout Validation:
  • Layout Validation is a visual tool for simultaneously previewing layouts on different devices and configurations, helping you detect layout errors and create more accessible apps.
  • You can access this feature by clicking on the Layout Validation tab in the top-right corner of the IDE window
  • In the Layout Validation window, you can select from four different configuration sets, including:
  • Pixel Devices: Preview your app on a selection of Pixel devices.
  • Custom: Preview your app using custom display options such as screen orientation or language.
  • Color Blind: Preview your app using simulations of common types of color blindness.
  • Font Sizes: Preview your app using a variety of font sizes.
  • Smart editor features for code shrinker rules:
  • Android Studio now provides smart editor features when you open code shrinker rules files for R8, such as syntax highlighting, code completion, and error checking. The editor also integrates with your Android Studio project to provide full symbol completion for all classes, methods, and fields, and includes quick navigation and refactoring.
  • Kotlin Android live templates:
  • Android Studio now includes Android live templates for your Kotlin classes. For example, you can now type toast and press the Tab key to quickly insert a Toast. For a full list of available live templates, click File > Settings from the menu bar (or Android Studio > Preferences on macOS) and navigate to Editor > Live Templates.
  • Fragment wizard and new fragment templates:
  • A New Android Fragment wizard and new fragment templates are now available when you navigate to File > New > Fragment > Gallery or click Create new destination in the Navigation editor.
  • Expanded camera support in Android emulator:
  • When using the Android 11 image, Android Emulator camera includes the following new features:
  • RAW capture
  • YUV reprocessing
  • Level 3 devices
  • Logical camera support
  • To learn more about developing for the next version of Android, go to the Android 11 Developer Preview user documentation.
  • clangd now available for C++ code editor:
  • Jetbrains CLion, the technology underpinning Android Studio's C++ language support, now uses an inspection engine based on LLVM clangd and clang-tidy, speeding up C/C++ code completion and providing a more seamless integration with clang-tidy.
  • Now available in the Android Studio C++ code editor, clangd and clang-tidy are both part of open-source LLVM extra tooling:
  • clangd features code completion, compile error messages in the editor, and go-to-definition navigation.
  • clang-tidy is a C++ linter tool with an extensible framework for diagnosing and fixing typical programming errors.
  • In prior releases, Android Studio users could use clang-tidy through the NDK; with this change, Android Studio is no longer dependent on the NDK for clang-tidy functionality.
  • ndk.dir setting in local.properties file is deprecated:
  • The value for ndk.dir should no longer be set in your app's local.properties file, and support for this ndk.dir setting will be removed in a future version. The Android Gradle Plugin sets the NDK version by default, but if you need a specific version of the NDK, you can set android.ndkVersion in build.gradle.
  • For more information on setting up the NDK, see Install and configure the NDK and CMake.
  • For easier side-by-side analysis, you can now view all thread activity in the thread activity timeline (including methods, functions, and events). There are several ways to navigate the timeline:
  • To focus on a specific point in time, drag a range in the CPU usage chart on the top left.
  • To zoom in or out, use the mouse wheel while holding down Control (or Command on MacOS). To pan left or right, drag while holding down the spacebar.
  • Alternatively, use the W and A keys for fine-grained zooming in and out, and the S and D keys for fine-grained panning left and right.

New in Android Studio 4.1 Canary 10 (May 27, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Gradle configuration fails on project with several modules when AGP is applied using plugin management
  • Post-tasks variant API: Adding manifest placeholders is broken and breaks the build from AGP 3.x to AGP 4.1.0-alpha08
  • Compile error because R.java limit (error: too many constants)
  • C++ Debugger:
  • App crash (segfault) when debugging JNI functions with local jstring reference
  • Code Analysis:
  • Resource bundle redefinition for plugin 'org.jetbrains.android'. Old value: messages.AndroidBundle
  • Database Inspector:
  • The empty database warning does not have the right colors in Dark mode
  • Inspector annotator is accessing databases from wrong thread
  • Databinding:
  • viewBinding issue with Android Studio 3.6 Stable
  • Emulator:
  • Diagnostic warnings are shown as error messages
  • Espresso Recorder:
  • Record Espresso Test Generates Buggy Tests
  • testrecorder.ui.RecordingDialog should not initialize constants from network
  • Import/Sync:
  • Support Variant switching without running Gradle (like switching build variants)
  • local.properties file generated in buildSrc folder
  • Layout Editor:
  • Studio freezes when clicking a Button view in the design surface
  • New Code/Templates:
  • Bug: crazy focus changes upon activity creation
  • Project Structure:
  • Migrating Android Studio 3.5 Project to 3.6 rc03 causes Unsupported modules detected error
  • Project View:
  • Renaming a dynamic feature module in Android Studio doesn't update the base build.gradle
  • Resources:
  • "Remove Unused Resources" for view binding missed method reference syntax (e.g. `LayoutBinding::inflate`)
  • Search:
  • Navigate to symbol fails to find any symbols
  • What's New Assistant:
  • What's New Assistant title fonts are too small

New in Android Studio 4.0 RC 1 (May 14, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues: Android Gradle Plugin
  • Issue #154218507: Desugaring is disabled when dexing library code in shrunk library
  • Issue #154145638: Use correct minSdkVersion when fetching desugar_lib_dex from transform
  • Shrinker (R8):
  • Issue #153858923: R8 2.0.65 wrongly change classes to abstract
  • Issue #154531810: ClassCastException after updating to R8 2.0.59 (Android Gradle plugin 4.0.0-beta04)
  • Issue #153514654: VerifyError on dalvik with code catching ErrornoException
  • Issue #154315490: "R8: NullPointerException during IR Conversion" with gradle plugin 3.6.2
  • Issue #132828740: During evaluation of conditional if rules, dependent items are enqueued for un-met preconditions

New in Android Studio 4.1 Canary 9 (May 14, 2020)

  • Improvements from IntelliJ IDEA 2020.1:
  • The core Android Studio IDE is based on IntelliJ IDEA. In this release, we have begun incorporating improvements from IntelliJ 2020.1, which we will continue in upcoming canary releases. This is a work in progress, and we welcome any feedback.
  • IDE configuration directory changes:
  • In this release, the locations for user configuration directories have been changed, consistent with recent updates to IntelliJ IDEA, the IDE on which Android Studio is based.
  • For more information, please see the release notes.
  • Missing Kotlin plugin:
  • In Canary 9, you may see the following error when first launching Android Studio after upgrading:
  • missing essential plugin org.jetbrains.android
  • This can happen when you import your settings from a previous version of Android Studio. Typically, this means you have a locally installed Kotlin plugin that is not compatible with the new IDE.
  • For a workaround, please see the release notes.
  • General Fixes:
  • Build Variants:
  • Issue #153476414: Exception thrown when trying to run/configure a release build
  • Data Binding:
  • Issue #153711619: AGP 3.6.2: Incremental compilation failure in DataBinding
  • Issue #153513464: LiveData Custom Binding
  • Database Inspector:
  • Issue #153684332: Database inspector improvements
  • Issue #154871161: App crash when trying to use Database Inspector
  • Debugger:
  • Issue #154969128: Consider restoring A 3.6 behavior of "Stop" button
  • Dexer (D8):
  • Issue #154315491: AGP 4.x build fails with exception in L8DexDesugarLibTask configuration
  • Lint:
  • Issue #37133950: new Lint check: calling the same super function more than once
  • SDK Manager:
  • Issue #150942306: Command-line sdkmanager needs better error if root dir can't be found
  • Issue #150943631: sdk manager should be smarter about deriving package path
  • Issue #150944411: Package A shouldn't overwrite package B if B is incorrectly in A's location
  • Issue #150946939: cmdline-tools top-level directory shouldn't be called "tools"
  • Issue #62063562: Add --installed option to sdkmanager --list
  • Issue #137389944: CLI does not respect TERM=dumb
  • Issue #69461360: Usability issue: subcommand and/or quotes around package name for clarity
  • Issue #37130052: sdkmanager --package_file= command isn't whitespace tolerant
  • Issue #152120283: sdkmanager from cmdlinetools fails with unhelpful exception when --sdk_root supplied
  • Issue #37130079: sdkmanager --update doesn't output anything to stdout
  • Tools Windows:
  • Issue #154298380: Android command-line tools seems to be 6200805 broken on Windows
  • View Binding:
  • Issue #154738763: Android View Binding does not support id's using dot case
  • Issue #154747638: Merge tag is causing compilation error

New in Android Studio 4.1 Canary 8 (Apr 29, 2020)

  • Improved instrumentation testing:
  • Instrumentation tests can now be run across multiple devices in parallel and investigated using a specialized instrumentation test results panel. Using this panel, you can determine if tests are failing due to API level or hardware properties.
  • General Fixes:
  • Android Gradle Plugin
  • Issue #154145638: Use correct minSdkVersion when fetching desugar_lib_dex from transform
  • Issue #154071907: Invalid app Bundles produced by AGP 4.1.0-alpha05
  • Code Editor
  • Issue #150927331: Keep options modifiers not showing up in dropdown for autocomplete
  • Issue #149423761: [Studio] Allow accessing built in tables in queries

New in Android Studio 4.0 Beta 5 (Apr 24, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #152872138: Disabling AGP features causes ./gradlew connectedCheck to fail
  • Issue #152996306: Occasional, hard-to-repro DexArchiveMergerException when building
  • Issue #148525428: Android Studio 4.0 Canary 8 and 9 don't pick up versionCode changes when using app bundle and APK
  • Issue #152759930: Main dex list fails w/o javac output
  • Issue #152500503: Downgrade “Creating configuration” to debug-level?
  • Data Binding:
  • Issue #151239523: Data Binding / View Binding projects suffer performance due to BindingClassFinder.findAllBindingClasses
  • Dexer (D8):
  • Issue #153042496: Support compatibility mode for JVM default in Kotlin for minSdkVersion 16-20
  • Import/Sync:
  • Issue #149045341: Very long sync times when consuming a custom configuration
  • Layout Inspector:
  • Issue #151496808: [BUG][4.0.0-beta02] LayoutInspector -> [+ Select Process ] Button does nothing...
  • Lint:
  • Issue #140642032: Kotlin class property annotated with VisibleForTesting not generating error/warning when called from other Kotlin code
  • Issue #150292219: Lint runs twice as slow on AGP 4 Beta 1 + False Positive
  • Issue #123835101: Quickfix is out of reach and crashes on same input
  • Issue #151289778: [AGP 4.0.0-beta02] Lint fails with Java OutOfMemoryError
  • Shrinker (R8):
  • Issue #151964517: VerifyError rejected class with com.google.android.gms.internal.measurement.zzx
  • Issue #152865051: Incorrect code after desugaring
  • Issue #152715309: R8 does not work with TestModules AGP.4.1 alpha
  • ViewBinding:
  • Issue #152413696: ViewBinding: including layout with an ID equal to the layout name produces "variable might not have been initialized"

New in Android Studio 4.1 Canary 7 (Apr 24, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #148525428: Android Studio 4.0 Canary 8 and 9 don't pick up versionCode changes when using app bundle and APK
  • C++ Editor:
  • Issue #144938511: Android Studio doesn't support CMake's OBJECT library
  • Database Inspector:
  • Issue #153684330: "Refresh table" results in empty table for some queries
  • Lint:
  • Issue #140642032: Kotlin class property annotated with VisibleForTesting not generating error/warning when called from other Kotlin code

New in Android Studio 4.1 Canary 6 (Apr 24, 2020)

  • General Fixes:
  • Android Gradle Plugin:
  • Issue #152872138: Disabling AGP features causes ./gradlew connectedCheck to fail
  • Issue #152293185: android.dexingNumberOfBuckets' default value may prevent remote build cache hit
  • Issue #152898926: "More than one file was found with OS independent path" when submodules have the same name
  • Issue #152500503: Downgrade “Creating configuration” to debug-level?
  • Import/Sync:
  • Issue #152303796: The quickfix to update Gradle version has lost since Android Studio 4.0
  • Issue #141613553: Studio should know what plugins are applied to the build
  • Lint:
  • Issue #123835101: Quickfix is out of reach and crashes on same input
  • Translations Editor:
  • Issue #145436360: Bug: never ending loading of Strings translation tool
  • ViewBinding:
  • Issue #152413696: ViewBinding: including layout with an ID equal to the layout name produces "variable might not have been initialized"

New in Android Studio 3.6.3 (Apr 19, 2020)

  • This minor release fixes a caching issue for modules with DataBinding and bundles the Kotlin 1.3.71 plugin.

New in Android Studio 4.1 Canary 5 (Apr 10, 2020)

  • New Database Inspector:
  • Inspect, query, and modify your databases in your running app using the new Database Inspector. To get started, deploy your app to a device running API level 26 or higher, and select View > Tool Windows > Database Inspector from the menu bar.
  • General Fixes:
  • Android Gradle Plugin:
  • Issue #152759930: Main dex list fails w/o javac output
  • Issue #152428342: Build seems to be stuck
  • Issue #146869072: Task failed on mergeExtDex
  • Issue #146165298: Android library projects should only apply multidex to androidTestImplementation
  • Issue #142449264: Resource shrinker: Avoid keeping entire R class
  • Issue #146012747: Specify printconfiguration to ProGuard/R8 with a path to the mapping directory
  • Issue #144298710: Add registerKotlinGeneratingTask (or improve the documentation of registerJavaGeneratingTask)
  • Build Variants:
  • Issue #150325708: Build Flavour resets itself to default each time I restart Android Studio
  • Data Binding:
  • Issue #151860061: Data binding errors persist even after the root cause has been fixed
  • Layout Editor:
  • Issue #151964515: Endless loop when displaying JavaDoc for styles with cycles
  • Layout Inspector:
  • Issue #151496808: [BUG][4.0.0-beta02] LayoutInspector -> [+ Select Process ] Button does nothing...
  • Lint:
  • Issue #132441250: Create lint check for static final usages of JBUI.scale()
  • Issue #150292219: Lint runs twice as slow on AGP 4 Beta 1 + False Positive
  • Issue #151289778: [AGP 4.0.0-beta02] Lint fails with Java OutOfMemoryError
  • Lint Inspections:
  • Issue #150198810: Bug: false positive error of version check
  • Issue #119314730: Running any inspection displayed as "Running Android Lint"
  • Release Bundle/APKs:
  • Issue #151765078: Key validity input is too small in "New Key Store" dialog
  • Run:
  • Issue #144274828: "Build resource" action runs JPS builder in Android Studio
  • Issue #150583984: ApkProvisionException: No outputs for the main artifact of variant: debug
  • Shrinker (R8):
  • Issue #150274427: RET should be handled by the ASM jsr inliner

New in Android Studio 4.0 Beta 4 (Apr 8, 2020)

  • Build Analyzer disabled:
  • The Build Analyzer is disabled in Android Studio 4.0 Beta 4. It will be re-enabled in Beta 5.
  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #147535554: Core library desugaring not applied to instrumentation tests
  • Issue #146165298: Android library projects should only apply multidex to androidTestImplementation
  • Issue #146869072: Task failed on mergeExtDex
  • Issue #152428342: Build seems to be stuck
  • Build Variants:
  • Issue #150325708: Build Flavour resets itself to default each time I restart Android Studio
  • Dexer (D8):
  • Issue #151969439: R8 raise NullException while perform :app:dexBuilderDebugAndroidTest
  • Issue #151207121: Many warnings when using desugared library
  • Import/Sync:
  • Issue #149891395: Kapt-generated files not recognized in IDE as sources
  • Layout Editor:
  • Issue #151964515: Endless loop when displaying JavaDoc for styles with cycles
  • Lint:
  • Issue #151409564: Lint fails to detect MotionLayout Constraints
  • Lint Inspections:
  • Issue #150198810: Bug: false positive error of version check
  • Run:
  • Issue #144274828: "Build resource" action runs JPS builder in Android Studio
  • Issue #150583984: ApkProvisionException: No outputs for the main artifact of variant: debug
  • Shrinker (R8):
  • Issue #151649643: coreLibraryDesugaringEnabled = true leads to ClassNotFoundException on debug builds
  • Issue #150274427: RET should be handled by the ASM jsr inliner
  • View Binding:
  • Issue #140955511: View binding build fail: Unresolved reference
  • Issue #151317169: Missing nullability annotations on bind and inflate fields / return types

New in Android Studio 3.6.2 (Apr 1, 2020)

  • This minor release includes the following changes:
  • Android Gradle Plugin:
  • Issue #143402226: Paths in different JDKs warnings swapped
  • Build Variants:
  • Issue #142608498: AS forgets selected build variant
  • C++ Build:
  • Issue #143411149: Syncing after any change to any Gradle file forces full rebuild of native code
  • Data Binding:
  • Issue #147609508: Data Binding not resolving the binding class for layouts in different sourceSet
  • Design Tools:
  • Issue #128599052: IDE becomes sluggish while trying to use eye dropper tool from color picker dialog
  • Import/Sync:
  • Issue #149045341: Very long sync times when consuming a custom configuration
  • IntelliJ:
  • Issue #124680708: Git Push Crashes from IDE
  • Lint:
  • Issue #150506104: Lint failure when upgrading to 3.6.x
  • Shrinker (R8):
  • Issue #147972078: 4.0.0-alpha08 - java.lang.RuntimeException: Cannot create an instance of class ViewModel
  • Issue #144437165: ServiceLoaderRewriter not working for multiple services.
  • Issue #146534384: `NoSuchMethodException: parameter type is null` moshi with R8
  • Issue #149890887: NPE in MemberRebindingAnalysis.firstLibraryClassForInterfaceTarget
  • Issue #148929520: IllegalArgumentException: Multiple entries with same key: Method $$ServiceLoaderMethods.$load0
  • Issue #150274427: RET should be handled by the ASM jsr inliner
  • Issue #149729626: R8 full mode removes constructors kept by Proguard
  • Issue #149554602: The R8 1.6.X 2.0.X compile project crashed,it looks like a bug form CodeRewriter.java(EnumValueOptimizer.java)
  • Issue #150688800: "NullPointerException during IR Conversion" with gradle plugin 3.6.1
  • Issue #150325706: R8 failed after upgrading to AGP v3.6.0
  • Issue #150330356: NullPointerException during IR Conversion with android-gradle-plugin 3.6.0
  • Testing:
  • Issue #148341176: Android Studio using out of date sources to run tests
  • Issue #144788300: "Test framework quit unexpectedly" after running Espresso tests in Studio 3.6
  • View Binding:
  • Issue #150405777: Add modification tracker for view binding enabled / disabled

New in Android Studio 4.1 Canary 4 (Mar 25, 2020)

  • Native Memory Profiler:
  • The Android Studio Memory Profiler now includes a Native Memory Profiler for apps deployed to physical devices running Android 10 or later.
  • Use TensorFlow Lite models in Android Studio:
  • ML Model Binding makes it easy for you to directly import .tflite model files and use them in your projects. Android Studio generates easy-to-use classes so you can run your model with less code and better type safety.
  • General fixes:
  • This update includes fixes for the following public issues: C++ Build
  • Issue #143411149: Syncing after any change to any Gradle file forces full rebuild of native code
  • Lint:
  • Issue #150530989: Lint crashes on kotlin elvis in 4.1.0-alpha01
  • Issue #142590628: tools:locale="en" does not remove warnings
  • Issue #151409564: Lint fails to detect MotionLayout Constraints
  • Issue #151719769: Offer stable update versions of the Gradle plugin
  • View Binding:
  • Issue #140955511: View binding build fail: Unresolved reference
  • Issue #151317169: Missing nullability annotations on bind and inflate fields / return types

New in Android Studio 4.0 Beta 3 (Mar 20, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #151040815: BuildTypeAttr.ATTRIBUTE and VariantAttr.ATTRIBUTE in Android Gradle plugin 4.0.0-beta01 are not ABI-compatible with 3.6 of the plugin
  • Issue #146520838: JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
  • Build Variants:
  • Issue #142608498: AS forgets selected build variant
  • Databinding:
  • Issue #144300600: error: cannot generate view binders java.lang.IllegalArgumentException: Parameter specified as non-null is null: method android.databinding.tool.reflection.RecursiveResolutionStack.visit, parameter referenceObject
  • Import/Sync:
  • Issue #149045341: Very long sync times when consuming a custom configuration
  • Issue #150848406: GradleVersions pattern matcher problem
  • Lint:
  • Issue #150530989: Lint crashes on kotlin elvis in 4.1.0-alpha01
  • Issue #150506104: Lint failure when upgrading to 3.6.x
  • Issue #148172219: [AGP 4.0.0-alpha09] False error: X must extend android.view.View
  • Issue #140881211: Android Studio 3.6 canary 10 incorrectly marks butterknife as annotation processor.
  • Issue #126439418: @Suppress tag prevents Lint detectors from resolving reference
  • Issue #150292219: Lint runs twice as slow on AGP 4 Beta 1 + False Positive
  • Lint Inspections:
  • Issue #125138962: Bug: removed-unused-resources can show items that are actually used
  • Shrinker (R8):
  • Issue #149554602: The R8 1.6.X 2.0.X compile project crashed,it looks like a bug form CodeRewriter.java(EnumValueOptimizer.java)
  • Issue #150688800: "NullPointerException during IR Conversion" with gradle plugin 3.6.1
  • Issue #149729626: R8 full mode removes constructors kept by Proguard
  • Issue #150274427: RET should be handled by the ASM jsr inliner
  • Issue #144437165: ServiceLoaderRewriter not working for multiple services.
  • Issue #149946708: R8 fails during transformClassAndResourcesWithR8 on UI test apk
  • Issue #149890887: NPE in MemberRebindingAnalysis.firstLibraryClassForInterfaceTarget
  • Issue #150189783: Since AGP 3.6.0, R8 fullMode converts Kotlin data class into AbstractClass and produces error with Gson
  • Issue #147972078: 4.0.0-alpha08 - java.lang.RuntimeException: Cannot create an instance of class ViewModel
  • Testing:
  • Issue #144788300: "Test framework quit unexpectedly" after running Espresso tests in Studio 3.6
  • View Binding:
  • Issue #150405777: Add modification tracker for view binding enabled / disabled

New in Android Studio 4.1 Canary 3 (Mar 19, 2020)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #150500779: test code is not able to access internal methods from the library it is testing
  • Issue #151040815: BuildTypeAttr.ATTRIBUTE and VariantAttr.ATTRIBUTE in Android Gradle plugin 4.0.0-beta01 are not ABI-compatible with 3.6 of the plugin
  • Issue #150438232: Caching seems to be broken for CheckMultiApkLibrariesTask
  • Issue #150817339: MergeJavaResourcesDelegateTest.testMergeResources fails locally
  • Issue #113978810: Bundled proguard-android.txt should not obfuscate descriptor classes for native methods
  • Issue #142890134: AGP 3.6.0-beta01: relocatability problem with syncDebugLibJars
  • C++ Debugger:
  • Issue #122906050: Unable to debug apk - cannot find default activity
  • Data Binding:
  • Issue #150989409: False inspection: The expression "..." cannot be inverted, so it cannot be used in a two-way binding
  • Issue #144300600: error: cannot generate view binders java.lang.IllegalArgumentException: Parameter specified as non-null is null: method android.databinding.tool.reflection.RecursiveResolutionStack.visit, parameter referenceObject
  • Import/Sync:
  • Issue #149045341: Very long sync times when consuming a custom configuration
  • Issue #150848406: GradleVersions pattern matcher problem
  • Layout Editor:
  • Issue #150367191: Re-enable TypeResolverSdkTest.testMaterialViewAttributeTypes
  • Lint:
  • Issue #150506104: Lint failure when upgrading to 3.6.x
  • Issue #150530989: Lint crashes on kotlin elvis in 4.1.0-alpha01
  • Issue #150292219: Lint runs twice as slow on AGP 4 Beta 1 + False Positive
  • Issue #140881211: Android Studio 3.6 canary 10 incorrectly marks butterknife as annotation processor.
  • Issue #126439418: @Suppress tag prevents Lint detectors from resolving reference
  • Issue #148172219: [AGP 4.0.0-alpha09] False error: X must extend android.view.View
  • Lint Inspections:
  • Issue #125138962: Bug: removed-unused-resources can show items that are actually used
  • Testing:
  • Issue #144788300: "Test framework quit unexpectedly" after running Espresso tests in Studio 3.6
  • View Binding:
  • Issue #150405777: Add modification tracker for view binding enabled / disabled

New in Android Studio 4.0 Beta 2 (Mar 12, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #148974861: [Android Library Publishing] Do not publish VariantAttr attribute for *all* component
  • Issue #149193056: Suppress warning about :buildSrc:configurePrecompiledScriptDependenciesResolver being non-incremental
  • Apply Changes:
  • Issue #144236330: "Apply Changes and Restart Activity" and "Rerun Tests" commands use the same keyboard shortcut
  • Code Editor:
  • Issue #149041225: Freeze in AndroidProcessMonitorManager.getMonitor
  • Data Binding:
  • Issue #149045351: Does view binding work between modules?
  • Feedback:
  • Issue #148656284: AS 4.0a9: "help -> Submit feedback" pre-populated with un-escaped garbled text
  • IntelliJ:
  • Issue #124680708: Git Push Crashes from IDE
  • Lint:
  • Issue #149490356: Lint CLI driver crashes on Windows rn separators
  • Issue #148051144: Lint on AGP 4.0.0-alpha09 fails with InvocationTargetException
  • Lint Inspections:
  • Issue #149342692: Navigation resource is not being found by Lint
  • Prefab Integration:
  • Issue #149575364: IllegalStateException from Run button in AS when using native dependencies with android.enableParallelJsonGen=true
  • Shrinker (R8):
  • Issue #149781762: Sealed class fields are null
  • Issue #147865209: Performance regression between R8 with AGP 3.4.1 and R8 1.6.57
  • Issue #148929520: IllegalArgumentException: Multiple entries with same key: Method $$ServiceLoaderMethods.$load0
  • Issue #149522381: StackOverflowError in release build with R8 in full mode
  • Issue #149468959: Enum field mutation omitted in calling code

New in Android Studio 4.1 Canary 2 (Mar 10, 2020)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Android Gradle Plugin:
  • Issue #149193056: Suppress warning about :buildSrc:configurePrecompiledScriptDependenciesResolver being non-incremental
  • Issue #149883012: com.android.zipflinger.Zip is too generic of a name
  • Issue #148974861: [Android Library Publishing] Do not publish VariantAttr attribute for *all* component
  • Apply Changes:
  • Issue #144236330: "Apply Changes and Restart Activity" and "Rerun Tests" commands use the same keyboard shortcut
  • Data Binding:
  • Issue #149045351: Does view binding work between modules?
  • IntelliJ:
  • Issue #124680708: Git Push Crashes from IDE
  • Lint Inspections:
  • Issue #149753966: "Unguarded field access" inspection does nor work for androidx.annotation.GuardedBy
  • Issue #149342692: Navigation resource is not being found by Lint
  • Prefab Integration:
  • Issue #149575364: IllegalStateException from Run button in AS when using native dependencies with android.enableParallelJsonGen=true
  • Run:
  • Issue #144149957: Retry Install link does not work
  • Test:
  • Issue #123987001: Test orchestrator coverage data is missing

New in Android Studio 3.6.1 (Mar 1, 2020)

  • Git version control authentication issue resolved:
  • In the initial release of Android Studio 3.6, operations requiring authentication in Git version control were broken in the IDE. This bug has been fixed in 3.6.1. See Issue #124680708 for more information.
  • Multi Preview feature removed:
  • This feature wasn't quite ready for version 3.6 of Android Studio and had been inadvertently left in the final release. We've removed Multi Preview from Android Studio 3.6.1. However, if you would like to use Multi Preview, a more refined version of the feature is available in the 4.0 beta releases.

New in Android Studio 4.1 Canary 1 (Feb 28, 2020)

  • Assertions in debug builds:
  • Assertions in your Java code are now enabled when deploying the debug version of your app. See the release notes for more information.
  • Jetpack Compose:
  • Jetpack Compose is now available in the 4.1 channel; it has been removed from the 4.0 channel. See the release notes for more information.
  • Git version control errors in the IDE:
  • Operations requiring authentication in Git version control are broken in the IDE for Android Studio 4.1 Canary 1 and will be fixed in an upcoming release.
  • As a workaround, use Git from the command line.
  • General fixes:
  • This update includes fixes for the following public issues:
  • Android:
  • Issue #147105605: Move codegen to AS Gradle codebase
  • Issue #148944828: [MLKit Plugin] Throw IOException from light class's constructor method to match the real impl
  • Issue #147595970: Create mlkit_common module in tools/base
  • Issue #149663643: [AS Integration] Use single hierarchy package suffix for auto generated classes
  • Issue #148283520: Set up mlkit-common module with library in maven
  • Issue #147890886: Avoid scanning all modules in MlkitClassFinder
  • Issue #147680613: Add light class support for codegen in AS codebase
  • Issue #148621263: Add more data in mlkit-common
  • Issue #149254807: [AS Integration] Inner classes of generated class are not discoverable independently by auto completion
  • Issue #149718660: [AS Integration] Add navigation support for inner classes
  • Issue #149252211: [AS Integration] Render the summary and usage of generated class in model viewer
  • Issue #149791876: Rename Param and ModelData in mlkit-common
  • Issue #144867508: Create ML Kit Module in Android Studio
  • Issue #146015231: Create MLKIT Task in AGP for model classes auto-generation
  • Android Gradle Plugin:
  • Issue #147768068: AGP 3.6 RC 1 produces non constants R fields when using the android name space.
  • Issue #148005697: [AGP 4.0.0-alpha08] DataBindingInfo is being defined in the same package across different modules
  • Issue #147486992: Use artifact transforms for external libraries in dexing task
  • Issue #115334911: Change how we model test - tested app dependency
  • Issue #148164947: AndroidLibrary.getLintJar is not valid for sub-project
  • Issue #144513656: Lint's Gradle task hangs after update to AGP 3.6.0-beta04
  • Issue #146869072: Task failed on mergeExtDex
  • Issue #148442683: Build APK outputs.json metadata incorrectly setting value of versionName
  • Issue #141535821: BasePlugin.checkModulesForErrors is quadratic in number of projects
  • Issue #146922959: GenerateTestConfig does not consider build directory name as task input property
  • Issue #135471813: Gradle PNG generation doesn't handle qualifiers
  • Issue #116859397: Ensure feature abiFilters are the same as the base module's
  • Issue #146907851: Update guava from 27.1-jre to 28.1-jre
  • Issue #147289282: The option setting 'android.enableR8=true' is deprecated.null
  • Issue #148443410: Assertion fails in DependencyResourcesComputer.compute
  • Android Studio:
  • Issue #71894463: Radial Gradient SVG from Sketch is not imported correctly by the Vector Asset Tool
  • App Model:
  • Issue #147432884: Invert compression and adding salt to make the footprint of sdk dependency data smaller in APKs
  • Build:
  • Issue #147448576: AGP 3.6 RC 1: Unsupported gradient type: "sweep"
  • Build Output:
  • Issue #146593375: Processing the events in the build output windows delays the app install
  • Build Variants:
  • Issue #142608498: AS forgets selected build variant
  • C++ Debugger:
  • Issue #145707569: LLDB Startup Commands Can't work with `Attach Debugger to Android Process` when debug
  • C++ Editor:
  • Issue #144938511: Android Studio doesn't support CMake's OBJECT library
  • C++ Import/Sync:
  • Issue #148805330: Syncing C++ projects leak memory in AGP 3.6rc02
  • Code Editor:
  • Issue #149041225: Freeze in AndroidProcessMonitorManager.getMonitor
  • Issue #146115250: Data Binding functionality stops working (Logs show crash in LayoutBindingShortNamesCache$3.compute)
  • Issue #147802433: Proguard unresolved symbols shown in gray instead of red
  • ConstraintLayout:
  • Issue #140882056: ConstraintLayout's Flow class located in different package in androidx and android.support
  • Core IDE:
  • Issue #129362597: Gradle attempt at parsing a redirect notice from Maven Repository
  • Issue #143693655: Manifest merging runs all the time
  • Data Binding:
  • Issue #147609508: Data Binding not resolving the binding class for layouts in different sourceSet
  • Issue #146538006: IDE sometimes fails to resolve "include" layouts
  • Deployment:
  • Issue #139859267: `Default Activity not found` error, "Multiple entries with same key" in ActivityAttributesSnapshot
  • Design Tools:
  • Issue #147805557: Improve packing algorithm in multi preview window
  • Gradle C++:
  • Issue #134374003: Android Gradle Plugin: “Expected output file at … for target … but there was none” when CMakeLists defines object libraries
  • Import/Sync:
  • Issue #145235353: Require sync after change comment in gradle file is pointless
  • IntelliJ:
  • Issue #145767113: Failed to start Git process User Authentication Token not found
  • Java 11 Blockers:
  • Issue #127544816: Potential blocker for Java 11 rollout: Android Lint
  • Layout Editor:
  • Issue #143600084: Views cannot be dragged to Flow element in component tree
  • Issue #37117915: Help button for Layout Editor
  • Layout Inspector:
  • Issue #148890011: LayoutInspector violates WebView Strict Mode and spams popups
  • Lint:
  • Issue #149490356: Lint CLI driver crashes on Windows rn separators
  • Issue #148051144: Lint on AGP 4.0.0-alpha09 fails with InvocationTargetException
  • Issue #64415817: NPE on method reference
  • Issue #139490306: Lint does not flag NewApi violations in androidTest sources
  • Issue #113198298: UnusedResources should handle checking dynamic feature modules
  • NDK:
  • Issue #142590626: Renderscript not compiling after updating to macOS Catalina
  • New Project Wizard:
  • Issue #148930092: Modules without .iml files may cause "empty android project view"
  • Issue #147701786: Strings not escaped for app name
  • Preference:
  • Issue #137173772: SettingsActivity (androidx) EditTextPreference crashes on rotation from landscape to portrait
  • Issue #146166988: Bug: "Target fragment must implement TargetFragment interface" after rotating screen twice with EditTextPreferenceDialog open
  • Project Structure:
  • Issue #126937269: [New PSD] buildType/productVlavor etc. names are not properly validated when creating a new item
  • Issue #147798442: [PSD] Extra entries are added for new variable
  • Project System:
  • Issue #147246554: "Not a gradle Project" When a build file is defined in the settings.gradle.kts with rootProject.buildFileName
  • Issue #128673540: kotlin DSL gradle and AndroidX refactoring
  • Project View:
  • Issue #111527585: Android project view refreshes over and over again
  • Issue #121345405: The Android Studio "Android Explorer" does not show test directories for combined flavors.
  • Resources:
  • Issue #148173587: [Regression] Importing SVG is broken ("fillType was already specified")
  • SDK Console:
  • Issue #148527133: Upgrade protobuf version to 3.10.0 in AGP
  • Templates:
  • Issue #145977222: Remove implementation fileTree(dir: 'libs', include: ['*.jar']) from new project template.
  • View Binding:
  • Issue #147927480: Class com.example.viewbinding.SimpleInTestModuleTest fails
  • Issue #147684086: Generated Binding classes appear to have a public no-args constructor

New in Android Studio 4.0 Beta 1 (Feb 26, 2020)

  • Android Gradle Plugin:
  • Issue #144513656: Lint's Gradle task hangs after update to AGP 3.6.0-beta04
  • Issue #146869072: Task failed on mergeExtDex
  • Issue #147768068: AGP 3.6 RC 1 produces non constants R fields when using the android name space.
  • Issue #148005697: [AGP 4.0.0-alpha08] DataBindingInfo is being defined in the same package across different modules
  • Issue #147289282: The option setting 'android.enableR8=true' is deprecated.null
  • Android Studio:
  • Issue #71894463: Radial Gradient SVG from Sketch is not imported correctly by the Vector Asset Tool
  • Build:
  • Issue #147448576: AGP 3.6 RC 1: Unsupported gradient type: "sweep"
  • Build Output:
  • Issue #146593375: Processing the events in the build output windows delays the app install
  • C++ Import/Sync:
  • Issue #148805330: Syncing C++ projects leak memory in AGP 3.6rc02
  • Code Editor:
  • Issue #146115250: Data Binding functionality stops working (Logs show crash in LayoutBindingShortNamesCache$3.compute)
  • Issue #147802433: Proguard unresolved symbols shown in gray instead of red
  • ConstraintLayout:
  • Issue #140882056: ConstraintLayout's Flow class located in different package in androidx and android.support
  • Data Binding:
  • Issue #147609508: Data Binding not resolving the binding class for layouts in different sourceSet
  • Issue #146538006: IDE sometimes fails to resolve "include" layouts
  • Design Tools:
  • Issue #147805557: Improve packing algorithm in multi preview window
  • Dexer (D8):
  • Issue #147865212: D8 in debug mode fails for valid local information spanning only a 'nop'
  • Issue #148734239: Running R8 or D8 loses the 4.X version of compatibility.
  • Issue #148366506: Bug in PeepholeOptimizer
  • IntelliJ:
  • Issue #145767113: Failed to start Git process User Authentication Token not found
  • Java 11 Blockers:
  • Issue #127544816: Potential blocker for Java 11 rollout: Android Lint
  • Layout Editor:
  • Issue #143600084: Views cannot be dragged to Flow element in component tree
  • Issue #37117915: Help button for Layout Editor
  • Layout Inspector:
  • Issue #148890011: LayoutInspector violates WebView Strict Mode and spams popups
  • Lint:
  • Issue #64415817: NPE on method reference
  • Issue #113198298: UnusedResources should handle checking dynamic feature modules
  • New Project Wizard:
  • Issue #148930092: Modules without .iml files may cause "empty android project view"
  • Issue #147701786: Strings not escaped for app name
  • Project System:
  • Issue #147246554: "Not a gradle Project" When a build file is defined in the settings.gradle.kts with rootProject.buildFileName
  • Issue #128673540: kotlin DSL gradle and AndroidX refactoring
  • Project View:
  • Issue #111527585: Android project view refreshes over and over again
  • Resources:
  • Issue #148173587: [Regression] Importing SVG is broken ("fillType was already specified")
  • Shrinker (R8):
  • Issue #147411673: R8 causes issues with OkHttp 4.3
  • Issue #147386014: Class.genericInterfaces returns T in the array
  • Issue #147480426: NullPointerException at ProguardMapMinifier.java while compiling androidTest apk
  • Issue #147470785: R8 causes issues with aar specified proguard.txt
  • Issue #148313389: Incorrect vertical class merging with full mode enabled leads to crash (AGP 3.6.0-rc1 and higher)
  • Issue #148021799: Unreachable DexItemBasedConstString in AGP 3.5.3
  • Issue #148525512: Version 2.1.2-dev (java-lang-VerifyError)

New in Android Studio 3.6 RC 3 (Feb 11, 2020)

  • General fixes:
  • Issue #147865212: D8 in debug mode fails for valid local information spanning only a 'nop'
  • Editing:
  • Issue #146115250: Data Binding functionality stops working (Logs show crash in LayoutBindingShortNamesCache$3.compute)
  • Resources:
  • Issue #148173587: [Regression] Importing SVG is broken ("fillType was already specified")
  • Run Debug:
  • Issue #139859267: `Default Activity not found` error, "Multiple entries with same key" in ActivityAttributesSnapshot
  • Shrinker (R8):
  • Issue #148021799: Unreachable DexItemBasedConstString in AGP 3.5.3
  • Issue #148313389: Incorrect vertical class merging with full mode enabled leads to crash (AGP 3.6.0-rc1 and higher)

New in Android Studio 3.6 RC 2 (Jan 30, 2020)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Android Studio:
  • Issue #146520216: Upgrading Studio 3.6.0-beta05 to 3.6.0-rc01 breaks packageDebugResources for vector drawables
  • Editing:
  • Issue #147039508: Bug: IDE suggests to use specific version of Libphonenumber, but doesn't actually do anything when I choose it
  • Gradle:
  • Issue #142242084: assembleDebug fails with FileNotFoundException on AS 3.6 Canary 12
  • Gradle Sync:
  • Issue #129261435: Android syncing hangs if distributionSha256Sum mismatches after upgrade
  • Lint:
  • Issue #146403481: Android Studio 3.6 is not performing lint checks from modules
  • Shrinker (R8):
  • Issue #146597396: R8 gives a "no checksum information while checksum encoding is requested" error
  • Issue #144151805: App crash during UI tests when running with R8
  • Issue #146957343: R8 issue: com.google.android.gms.internal.cast.zzka is null?

New in Android Studio 4.0 Canary 9 (Jan 22, 2020)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Core IDE:
  • Issue #144182679: New Image Asset lacks support for Android TV channels
  • Editing:
  • Issue #147039508: Bug: IDE suggests to use specific version of Libphonenumber, but doesn't actually do anything when I choose it
  • Issue #140154274: Bug: false positive warning about using too new class in an already checked condition
  • Gradle:
  • Issue #147207696: Unresolved reference: buildFeatures after updating to 4.0.0-alpha07 from 4.0.0-alpha06
  • Lint:
  • Issue #147293853: NPE in KeyedExtensionCollector
  • Issue #122928037: DiffUtilEquals false positive when using interfaces with a single data class implementation
  • Issue #123822220: Cyclic dependency for android:src and app:srcCompat in layer-list xml file
  • Issue #146824833: lint-27.0.0-alpha6 Warning.compareTo() method is wrong!
  • Issue #147094776: Android Lint: Check if Layout XML uses View Tag that does not correspond to a Class extending View in the classpath
  • Issue #37065470: Lint fails to check multiple values passed to *Res-annotated annotation array.
  • Issue #37078822: UnusedResources ignore in lint.xml doesn't work when using path and **
  • SDK Console:
  • Issue #147092261: Generate and set encryption keys for Dependency Info block
  • Issue #145729105: Update apkzlib to support SDK Protect block
  • Strings Editor:
  • Issue #120747416: Refactor->Remove Unused Resources missing logic for strings with dot in the id

New in Android Studio 4.0 Canary 8 (Jan 8, 2020)

  • This update includes fixes for the following public issues:
  • Issue #122554774: Error before lint: Resolving this BuildableArtifact can only done during task execution.
  • Issue #124227171: Android manifest contains incorrect values for platformBuildVersionCode and platformBuildVersionName
  • Issue #123558506: R8 won't compress APK's kotlin folder
  • Issue #120779854: Android Studio Freezes processing logcat
  • Issue #123409929: Cannot find symbol java.util.List
  • Issue #110463869: Preview tab
  • Issue #123776985: Navigation editor generates wrong reference for arguments that are public static inner classes
  • Issue #120609432: Support Serializable (incl enums) and arrays for arguments
  • Issue #122846702: R class navigation doesn't work with AS 3.3 and AGP 3.2
  • Issue #123985288: Some lint quickfixes that are not registered with autoFix=true are applied by the lintFix gradle task
  • Issue #124329575: [New PSD] Module type is not detected if android plugin is not the first one
  • Issue #124074412: Create API to return the result of "adb devices" from the command line
  • Issue #124070991: Make WindowsParser error handling more robust
  • Issue #123886074: Update the Connection Assistant to decorate devices based on whether ADB and ddmslib sees them
  • Issue #112324902: sdk manager patch merge conflict dialog contrast too low
  • Issue #123677458: Creating a new project should explicitly set project name in settings.gradle via rootProject.name = "..."
  • Issue #123311600: Manifest merger failed when deep linking in navigation graph

New in Android Studio 4.0 Canary 7 (Dec 24, 2019)

  • CPU Profiler UI Upgrades:
  • Based on your feedback, the CPU Profiler UI has been overhauled to provide a more intuitive workflow, with new customization options and an updated layout.
  • General fixes:
  • This update includes fixes for the following public issues:
  • Bundletool:
  • Issue #144802446: Make release of bundletool 0.12.0
  • Core IDE:
  • Issue #144939147: New Vector Asset / Image Asset places drawables in the wrong folder when using multiple resource directories in a sourceSet
  • Data Binding:
  • Issue #144604674: cannot generate view binders java.lang.StackOverflowError
  • Gradle:
  • Issue #145770669: Disabling android.defaults.buildfeatures.aidl and renderscript breaks lint task
  • Issue #119135578: Find a way to determine whether a third-party library should be jetified
  • Issue #146205003: Instant execution - DexArchiveBuilderTask task loading
  • Issue #134858541: App is not signed with v1 scheme when using minSDK 24, even when enabled explicitly
  • Issue #142242084: assembleDebug fails with FileNotFoundException on AS 3.6 Canary 12
  • Issue #140747218: Improve error messages for exceptions thrown from Jetifier
  • Issue #145683928: LintPlugin creates tasks in a non lazy way
  • Layout Editor:
  • Issue #145231222: When project is loading, XML is unreadable
  • Lint:
  • Issue #145687664: Analyze -> Inspect Code -> Lint -> Remove all unused resources | strips an androidx.navigation file of its ids
  • Motion Editor:
  • Issue #145203265: Motion Editor View Drag Float Bug
  • New Project Wizard:
  • Issue #146252332: Bug: new project wizard always puts the new project into last opened path, instead of last creation path
  • Issue #146413736: Empty icons in new activity wizard (4.0 C6)
  • Project Structure Dialog:
  • Issue #145652926: PSD won't let me add a runtimeOnly dependency
  • Resultstore:
  • Issue #145950498: BEP upload failed: UNAVAILABLE: UNAVAILABLE: Policy checks are unavailable
  • Shrinker (R8):
  • Issue #145688738: R8 failed in multi module projects
  • Templates:
  • Issue #145121833: Update benchmark library version
  • View Binding:
  • Issue #142739020: Enabling ViewBinding breaks gradle configuration of com.android.test plugin

New in Android Studio 3.6 RC 1 (Dec 18, 2019)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Core IDE:
  • Issue #144668812: Importing SVG file with a style combination creates incorrect vector drawable
  • Data Binding:
  • Issue #144788290: Changes to data binding layouts are not processed by the IDE
  • Design Tools:
  • Issue #145086611: SVG cannot be converted to Android Vector Drawable
  • Gradle:
  • Issue #143375935: AS 4.0 Canary 1 - INSTALL_FAILED_NOT_APK
  • Issue #144896521: Update AGP 3.6 to Gradle 5.6.4
  • Issue #143762955: AGP 3.6.0 beta01 - Runtime "NoClassDefFoundError" for R resources during JVM unit test without R8 turned on
  • Issue #144249620: Calling registerJavaGeneratingTask with only kotlin sources in a kotlin-only project triggers javac with no sources
  • Jetifier:
  • Issue #145125886: Integrate jetifier beta08 to AGP
  • Resource Manager:
  • Issue #144443057: Select resource (Pick a resource dialog) displays hidden files too (named with prefix .)
  • View Binding:
  • Issue #141255591: ViewBinding loses package of included view after modifying it
  • Issue #140882631: Incorrect package name for ids

New in Android Studio 4.0 Canary 6 (Dec 11, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • ConstraintLayout:
  • Issue #145593798: [ConstraintLayout 2.0.0-beta1] Regression in multi-module support for MotionLayout scene detection
  • Core IDE:
  • Issue #142681364: KTS "Disable this warning" doesn't dismiss
  • Design Tools:
  • Issue #145086611: SVG cannot be converted to Android Vector Drawable
  • Gradle:
  • Issue #143762955: AGP 3.6.0 beta01 - Runtime "NoClassDefFoundError" for R resources during JVM unit test without R8 turned on
  • SDK Manager:
  • Issue #145351869: ANDROID STUDIO missing Google Repository
  • Shrinker (R8):
  • Issue #145439794: Typo inspection results "shrikner" -> "shrinker

New in Android Studio 3.5.3 (Dec 6, 2019)

  • This minor release improves stability and performance, and includes various bug fixes.

New in Android Studio 4.0 Canary 5 (Dec 5, 2019)

  • General fixes:
  • This update includes fixes for the following public issues: App Development
  • Issue #37123156: aapt_rules.txt should specific explicitly used constructor instead of argument wildcard.
  • Build:
  • Issue #139782877: Native builds compile all architectures now instead of just the one needed for the target device
  • Core IDE:
  • Issue #144668812: Importing SVG file with a style combination creates incorrect vector drawable
  • Data Binding:
  • Issue #144788290: Changes to data binding layouts are not processed by the IDE
  • Issue #141936603: Auto-complete for data binding includes classes not known/visible to the current module
  • Issue #144527914: Unresolved reference for inner class when using an
  • Issue #123427765: Binding expression not supported VectorDrawableCompat.
  • Issue #144246528: DataBinding is occurs NullPointerException if there are two LiveData flags when only one of them has initial value
  • Issue #142405164: DataBinding variable cannot use java.lang.Void in AGP 3.6
  • Deployment:
  • Issue #144109935: Android Studio 4 Canary does noting on Run->Run
  • Issue #144443063: Run button is always disabled after running configuration with another configuration
  • Design Tools:
  • Issue #144057801: Bug: importing SVG files create incorrect VectorDrawable
  • Gradle:
  • Issue #143375935: AS 4.0 Canary 1 - INSTALL_FAILED_NOT_APK
  • Issue #144553651: Incorrect R8 version parsing for targeted rules
  • Issue #144916156: W/o external transforms present we should use artifact transforms
  • Jetifier:
  • Issue #145125886: Integrate jetifier beta08 to AGP
  • Layout Editor:
  • Issue #124231532: Property Panel stays empty after adding a recycler view for the first time
  • Navigation Editor:
  • Issue #142491178: Visual bug while using the design view of the navigation graph.
  • New Project Wizard:
  • Issue #144443773: Creating a project with an apostrophe in the human readable name makes compilation fail
  • Project System:
  • Issue #143291278: Creating a new Module edits settings.gradle even if settings.gradle.kts is present
  • Resource Manager:
  • Issue #144443057: Select resource (Pick a resource dialog) displays hidden files too (named with prefix .)
  • Run Debug:
  • Issue #143229099: Activity can't be found by run configuration
  • View Binding:
  • Issue #143160165: View Binding will cause the code to expose / leak the IDs or names of the Views after doing ProGurad or R8
  • Issue #143807078: dataBindingGenBaseClassesDebug task fails with "part 'layer-list' is keyword"

New in Android Studio 3.6 Beta 5 (Dec 5, 2019)

  • General fixes:
  • This update also includes fixes for the following public issues: Design Tools
  • Issue #144057801: Bug: importing SVG files create incorrect VectorDrawable
  • Gradle:
  • Issue #140508065: Jars packaged with AAR not added to desugaring classpath
  • Issue #144553651: Incorrect R8 version parsing for targeted rules
  • Issue #142543668: AppPublishingTest fails with Gradle 6.0
  • Resource Manager:
  • Issue #143833199: File>New>Vector Asset: Error messages half hidden and non-helpful.
  • View Binding:
  • Issue #142597725: Add autocomplete support for tools:ignoreViewBinding
  • Issue #142742308: Having tag as root of layout file generates ViewBinding that does not compile

New in Android Studio 4.0 Canary 4 (Nov 21, 2019)

  • General fixes:
  • This update includes fixes for the following public issues: Data Binding
  • Issue #122928033: Renaming a string does not rename it in the data binding expression
  • Issue #142110304: DataBinderMapperImpl.java:120: error: code too large
  • Editing:
  • Issue #143867708: The maven library registry is missing many recent libraries, such as CameraX
  • Issue #143867725: Quickfix for library import should import symbol in source file as well
  • Issue #143868567: Library import only works for Kotlin and Java, not XML class references
  • Issue #143868566: Missing layout classes are not shown as unresolved in the editor
  • Issue #143867090: Unresolved library import isn't offered on package names
  • Gradle:
  • Issue #142543668: AppPublishingTest fails with Gradle 6.0
  • Issue #142630205: Update to Gradle 6.0
  • Issue #142242084: assembleDebug fails with FileNotFoundException on AS 3.6 Canary 12
  • Issue #144249620: Calling registerJavaGeneratingTask with only kotlin sources in a kotlin-only project triggers javac with no sources
  • Installer:
  • Issue #144042749: Setup Wizard: Emulator Settings: confusing text
  • Lint:
  • Issue #142533357: Duplicate string doesn't work with CDATA
  • Issue #142089724: False Positive [UnusedQuantity] on languages with plurals that are not "one" or "other"
  • New Project Wizard:
  • Issue #141545423: Dynamic feature module referring :nested:app cannot be created
  • Project System:
  • Issue #130224064: Need KTS parser
  • Testing:
  • Issue #139793893: Running unit test from the IDE fails due to classpath misconfiguration
  • View Binding:
  • Issue #142597725: Add autocomplete support for tools:ignoreViewBinding
  • Issue #139732774: Update light class API to reflect changes for covariant return type
  • Issue #144029289: IDE: Don't generate Impl bindings for View Binding classes

New in Android Studio 3.6 Beta 4 (Nov 15, 2019)

  • General fixes:
  • Data Binding:
  • Issue #142533358: ViewStub breaks auto import in kotlin files
  • Gradle:
  • Issue #142342272: With Android Studio 3.5.0 so-libs are not included when we debug with Run->Debug
  • Issue #141573404: Plugin 3.5.0 fails on sdk addon. 3.4.2 worked fine.
  • Shrinker (R8):
  • Issue #142203515: ConcurrentModificationException on git_r8-wip-dev
  • Issue #143550696: R8 Outline optimization generates classes with same name resulting duplicate class references
  • Issue #137836288: Removal of class fields have unintended consequences

New in Android Studio 4.0 Canary 3 (Nov 15, 2019)

  • Build Speed window:
  • The new Build Speed window helps you understand and diagnose issues with your build process, such as disabled optimizations and improperly configured tasks. For usage instructions, see the release notes.
  • Multi Preview:
  • Multi Preview is a visual tool for simultaneously previewing layouts in different devices and configurations, which can help catch potential issues in your layouts. You can access this feature by clicking on the Multi Preview tab in the top-right corner of the IDE window. For more information, see the release notes.
  • General fixes:
  • This update includes fixes for the following public issues: Android App Bundles
  • Issue #141663290: Use R8 to generate splits instead of DexSplitter
  • Core IDE:
  • Issue #143676769: Unsupported color format "rgba(143,253,253,0)"' when converting SVG to vector drawable
  • Gradle:
  • Issue #141573404: Plugin 3.5.0 fails on sdk addon. 3.4.2 worked fine.
  • Project System:
  • Issue #130224064: Need KTS parser
  • Issue #124415929: Android Studio not reporting new versions for some dependencies, when using ext variables for version number

New in Android Studio 3.6 Beta 3 (Nov 7, 2019)

  • General fixes:
  • This update also includes fixes for the following public issues:
  • Gradle:
  • Fix task validation errors
  • Zipflinger creating apk which unzip with empty file permissions
  • Execution failed for task ':data:compileDebugLibraryResources'. Android Studio 3.6-beta01
  • Kotlin:
  • Refactorings put XML entities in the change
  • Lint:
  • Custom lint rules fail to run when another lint.jar uses service loader entries
  • ResourceEvaluator#getResource doesn't work for kotlin expressions
  • Shrinker (R8):
  • R8 Generate Code Causing java.lang.VerifyError

New in Android Studio 3.5.2 (Nov 5, 2019)

  • This minor release improves stability and performance, and includes fixes for the following issues:
  • Gradle:
  • Issue#141927977: Constraint reason strings can take too much memory on large projects
  • Layout Editor:
  • Issue #129457736: Reformatting changes the order of elements
  • Core IDE:
  • Issue #140220674: Setting JDK location to JAVA_HOME in project structure dialog does not set JDK location to JAVA_HOME.
  • Issue #142002567: Android Studio 3.5.1 fails to sync
  • Issue #129261435: Android syncing hangs if distributionSha256Sum mismatches after upgrade
  • Databinding:
  • Issue #140999936: AGP 3.6-alpha11: error: cannot generate view binders java.lang.StackOverflowError
  • Issue #142130560: Arch components github sample does not compile with AGP 3.6.alpha11
  • Issue #141633235: data binding crashes if you have Foo extends LiveData

New in Android Studio 3.6 Beta 2 (Oct 31, 2019)

  • General fixes:
  • This update also includes fixes for the following public issues: Android Studio
  • Issue #142467886: Too many attributes in a single causes the app to crash when access R.styleable
  • Data Binding:
  • Issue #142286949: Bindings are being created for non-data binding layouts
  • Issue #142288059: MergedManifestManager.getSnapshot(facet).getPackage() returns null unexpectedly
  • Issue #140999936: AGP 3.6-alpha11: error: cannot generate view binders java.lang.StackOverflowError
  • Issue #142130560: Arch components github sample does not compile with AGP 3.6.alpha11
  • Issue #141633235: data binding crashes if you have Foo extends LiveData
  • Gradle:
  • Issue #141536986: Missing native libs after update an external dependency with native libs java.lang.UnsatisfiedLinkError find "libmylib-jni.so"
  • Issue #141869049: aaptOptions.noCompress should be case-insensitive for android resources
  • Lint:
  • Issue #141980948: Android lint reports duplicates of the same issue
  • Profilers:
  • Issue #135141615: Error while dexing with okhttp 4.0.0 releases
  • Shrinker (R8):
  • Issue #139991218: ClassNotFoundException when compiling app with R8
  • View Binding:
  • Issue #139445085: Update light class API to reflect changes for layouts

New in Android Studio 3.6 Beta 1 (Oct 11, 2019)

  • General fixes:
  • This update also includes fixes for the following public issues: APK Viewer
  • Issue #138772444: Enable opening AAR, AAB, DEX files from project
  • Connection Assistant:
  • Issue #123887075: Record UsbDevice serial numbers on Windows
  • Data Binding:
  • Issue #141582926: Custom Map Class can not access value in the form of "map.key"
  • Issue #141782215: Incorrect inspection "fragment is not allowed here"
  • Issue #140593256: ViewId in underline format not recognized in databinding expression
  • Issue #141582926: Custom Map Class can not access value in the form of "map.key"
  • Issue #140592807: "var.methodName" should be supported as function references expression
  • Issue #140591412: Format "map.key" not supported in data binding expression
  • Issue #140592852: Can not access fields/methods from static field/method
  • Issue #140593547: Variable "context" not recognized in data binding expression
  • Deployment:
  • Issue #138601449: Save the Select Deployment Targets dialog selection
  • Gradle:
  • Issue #141927977: Constraint reason strings can take too much memory on large projects
  • Issue #112513722: Including navigation graph from different module breaks generating AndroidManifest.xml intent filters for deep links
  • Issue #141670031: Remove use of BuildListener#buildStarted() and Gradle#buildStarted() as they are deprecated in Gradle 6.0
  • Issue #140786113: Corrupt proguard file generated by AGP 3.5.0
  • Issue #136294346: Migrate from ArtifactTransform to TransformAction API
  • Issue #138731075: RenderScript NDK mode not able to emit 64bit bitcode
  • Issue #112513722: Including navigation graph from different module breaks generating AndroidManifest.xml intent filters for deep links
  • Gradle Sync:
  • Issue #141416123: Warnings in gradle sync annoyingly auto-open the file
  • Issue #139821729: AS 3.6 Canary 6 opens a build script after sync
  • Navigation:
  • Issue #140856013: Unexpected element found in presentation module (clean arch)
  • Project System:
  • Issue #140406172: Android Studio 3.6 Canary 9 freezes on Ubuntu 16.04 LTS
  • Resource Manager:
  • Issue #131976524: Feature Request: Image Asset Wizard, Support Two Lines for Text Option
  • Shrinker (R8):
  • Issue #140851070: Use of R8 applymapping fails with 'already has a mapping'
  • View Binding:
  • Issue #140882631: Incorrect package name for ids
  • Issue #140882627: Ignore fragment references in XML

New in Android Studio 3.5.1 (Oct 3, 2019)

  • Gradle:
  • Issue #136806086: Task lintVitalRelease failing with Dynamic Features
  • Profilers:
  • Issue #136112662: Android Studio consumes CPU for no reason
  • Core IDE:
  • Issue #138007389: Editor ends up with red symbols for resources
  • Issue #137778460: The Empty Activity template is missing the androidx.test.ext:junit dependency
  • Issue #139979809: Studio 3.5 asks for target emulator on "Run Project" even when one is already running
  • Compiler (R8):
  • Issue #139769782: Multiple entries with same key: Method com.google.firebase.iid.FirebaseInstanceId.zza Proto LLL com.google.android.gms.tasks.Task java.lang.String java.lang.String
  • Issue #131140696: Unexpected conversion of imprecise type: WIDE when d8 compile class FIle
  • Databinding:
  • Issue #139738910: User gets compile error if their type omits the generic parameter

New in Android Studio 3.6 Canary 12 (Sep 19, 2019)

  • Fragment wizard and new fragment templates:
  • A new Fragment wizard and fragment templates are now available by navigating to File > New > Fragment > Gallery or by clicking Create new destination in the Navigation editor.
  • General fixes:
  • This update includes fixes for the following public issues:
  • APK Viewer:
  • Issue #137130596: Analyze apk could not be completed.
  • Data Binding:
  • Issue #140645228: Variables declared in other same name layout files are not recognized
  • Issue #139933333: Unresolved binding fields in nested controls
  • Dexer (D8):
  • Issue #140290149: Class module-info is missing a super type. Class file version 53.
  • Editing:
  • Issue #140362782: Files created by templates are not picked up by resource repositories
  • Layout Editor:
  • Issue #140678037: Visualization tab disappears in 3.6 Canary 10
  • Lint:
  • Issue #133465551: Lint 26.5.0-beta02 DefaultLocale triggers on Kotlin's decapitalize method
  • New Project Wizard:
  • Issue #138951281: Create New Module wizard is blocked by Project needs to be converted to androidx.* dependencies
  • Run Debug:
  • Issue #138127703: Misleading DDMS message
  • View Binding:
  • Issue #136103081: inside is not allowed

New in Android Studio 3.6 Canary 11 (Sep 12, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Build:
  • Issue #139769925: Gradle composite build causes stack overflow in included build
  • Issue #136242040: Spaces ignored in links to file paths
  • Issue #138131992: Error link do not set editor to correct line and column anymore, only to upper left (1,1)
  • Data Binding:
  • Issue #140509347: PsiModelMethod NPE: var parameterType = getParameter(i, parameterTypes)!! #task
  • Issue #137047493: Track view binding layout numbers
  • Issue #139933333: Unresolved binding fields in nested controls
  • Editing:
  • Issue #137878819: RoomSql Fragment Editor doesn't resolve symbols as the raw files do (triple quotes)
  • Issue #124656558: com.intellij.util.IncorrectOperationException in Alt-Enter
  • Gradle:
  • Issue #139821728: When add ‘android.enableSeparateAnnotationProcessing=true’, processDebugAnnotationsWithJavac task cannot be created
  • Issue #139464147: Update to Gradle 5.6
  • Gradle Sync:
  • Issue #139696602: Links to re-run sync don't terminate the resulting sync correctly
  • Issue #133342563: Exception when checking whether upgrade is possible
  • Lint:
  • Issue #133226746: Lint warning for textAlignment with minSdkVersion of 16
  • Issue #139566120: Lint check showing incorrect warning with TypedArray recycle call
  • Project Structure Dialog:
  • Issue #136389141: buildTypes.each caused an error in project's structure suggestion
  • Project System:
  • Issue #139350627: Data binding: Cannot find identifier when referencing views in XML
  • Issue #131991567: AS prompt generates gradle proxy data exception
  • View Binding:
  • Issue #139411389: Type mismatch when an tag has an id

New in Android Studio 3.6 Canary 10 (Sep 6, 2019)

  • Refactor menu option to enable Instant Apps support:
  • You can now instant-enable your base module at any time after creating your app
  • project as follows:
  • Open the Project panel by selecting View > Tool Windows > Project from the menu bar.
  • Right-click on your base module, typically named ‘app’, and select Refactor > Enable Instant Apps Support.
  • In the dialog that appears, select your base module from the dropdown menu.
  • Click OK.
  • Note: The option to instant-enable your base app module from the Create New Project wizard has been removed.
  • Deobfuscate class and method bytecode in APK Analyzer:
  • When inspecting DEX files, the APK Analyzer now supports deobfuscating class and method bytecode. To deobfuscate the bytecode, proceed as follows:
  • Select Build > Analyze APK from the menu bar.
  • In the dialog that appears, navigate to the APK you want to inspect and select it.
  • Click Open.
  • In the APK Analyzer, select the DEX file you want to inspect.
  • In the DEX file viewer, load the ProGuard mappings file for the APK you’re analyzing.
  • Right-click on the class or method you want to inspect and select Show bytecode.
  • General fixes:
  • This update includes fixes for the following public issues:
  • Core IDE:
  • Issue #139371784: Gradle sync should use --stacktrace by default to assist in diagnosing failures which occur during sync
  • Issue #130738995: Allow disabling the automatic adding of the google repository to build.gradle
  • Gradle:
  • Issue #138042761: Remove pointless log from lint task
  • Gradle Sync:
  • Issue #139481725: Gradle Sync fails with org.jetbrains.kotlin.psi.KtDotQualifiedExpression cannot be cast to org.jetbrains.kotlin.psi.KtStringTemplateExpression
  • Lint:
  • Issue #138832286: AGP 3.5.0-rc02 and 3.6.0-alpha05: Lint doesn't report issues in the Kotlin source set
  • Issue #139769778: Can not resolve symbol for app:constraint_referenced_ids attribute
  • Issue #139822932: VisibleForTesting annotation not linted properly if it uses package private scope as the 'otherwise'
  • Issue #139515660: margin(Horizontal|Vertical) and padding(Horizontal|Vertical) are detected by UnusedAttribute even though they're backported
  • Templates:
  • Issue #123677458: Creating a new project should explicitly set project name in settings.gradle via rootProject.name = "..."
  • View Binding:
  • Issue #137854701: Respect tools:viewBindingIgnore layout attribute
  • Databinding:
  • Issue #133390436: Binding adapter not used when setting propert on an tag

New in Android Studio 3.6 Canary 9 (Aug 30, 2019)

  • New default packaging tool
  • When using Android Gradle plugin 3.6.0-alpha09 or higher to build the debug version of your app, the plugin uses a new packaging tool, called zipflinger, to package your APK. This new tool should provide build speed improvements. However, if you experience issues, please report a bug. You can also revert to using the old packaging tool by including the following in your gradle.properties file:
  • android.useNewApkCreator=false
  • General fixes:
  • This update includes fixes for the following public issues:
  • APK Viewer:
  • Issue #71548335: Selecting and copying (cmd+c) bytecode in APK Analyzer puts "/classes.dex" in the clipboard
  • Build:
  • Issue #135678942: Multi-module project autocompletion on not included module
  • Gradle:
  • Issue #139017699: AGP 3.6.0-alpha05 fails to compile. Unresolved reference to included layout file
  • Gradle Sync:
  • Issue #139371048: Gradle sync fails with "ERROR: myNamemyName"
  • Project System:
  • Issue #130257706: "Quick documentation" for Android SDK is actually unacceptably Slow, by default.
  • Issue #129008025: Move download of javadoc/source from Gradle to Studio
  • Resource Management:
  • Issue #137882002: Unresolved layouts, menus and drawables in 3.6 on Windows

New in Android Studio 3.6 Canary 8 (Aug 28, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • APK Debugging:
  • Issue #112411103: APK sometimes getting locked when using 'Profile or Debug APK...'
  • Core IDE:
  • Issue #138841328: ResourceFolderRepository is loading out-of-date cache "entries"
  • Data Binding:
  • Issue #139096339: Invalid red underline for method reference syntax for "View" arg function #task
  • Firebase Test Lab:
  • Issue #139177566: [Studio 3.6 Canary 6] [Firebase TestLab] NPE has observed while testing application on Firebase console.
  • Gradle:
  • Issue #37055147: Support maven-publish plugin
  • Issue #139084022: Change min/max modifiers to from/upto in shrinker rules
  • Gradle C++:
  • Issue #138739739: CMake integration broken in Gradle Plugin 3.6.0-alpha05

New in Android Studio 3.6 Canary 7 (Aug 25, 2019)

  • General fixes:
  • APK Debugging:
  • Issue #112411103: APK sometimes getting locked when using 'Profile or Debug APK...'
  • Build:
  • Issue #138404837: AS 3.6 build variants are not switched to compatible variants automatically
  • C++:
  • Issue #138089120: Rename of native method
  • Core IDE:
  • Issue #138841328: ResourceFolderRepository is loading out-of-date cache "entries"
  • Data Binding:
  • Issue #139096339: Invalid red underline for method reference syntax for "View" arg function #task
  • Issue #127149948: Incorrect highlight error: ` ']' expected, got '(' `
  • Issue #131115695: getter and setter is shown as variable for bindings, clicking getter inserts actual variable
  • Deployment:
  • Issue #136412387: Android studio shows error while launching app when app name contains "Error"
  • Editing:
  • Issue #117112752: "Go to related symbols" not working in Activities and Fragments created with Kotlin
  • Gradle:
  • Issue #137729143: Resources overriding strategy between external and local libraries resources is broken
  • Issue #37055147: Support maven-publish plugin
  • Issue #138920846: Fix input normalization of aidlExecutableProvider in AidlCompile
  • Issue #139084022: Change min/max modifiers to from/upto in shrinker rules
  • Gradle C++:
  • Issue #138739739: CMake integration broken in Gradle Plugin 3.6.0-alpha05
  • Lint:
  • Issue #138132330: "Android XML element is not allowed" Inspection Unaware of for FileProvider
  • Issue #138668379: Bug: Lint check warns about Android-X stuff having typos
  • Project System:
  • Issue #135968300: Android Studio doesn't detect JAVA_HOME correctly
  • Testing:
  • Issue #138120842: Studio doesn't respect testOptions.animationsDisabled

New in Android Studio 3.5 (Aug 21, 2019)

  • Project Marble: System health:
  • This section describes the changes in Android Studio 3.5 that are focused on improving system health.
  • Recommended memory settings:
  • Android Studio now notifies you if it detects that you could improve performance by increasing the maximum amount of RAM that your OS should allocate for Android Studio processes, such as the core IDE, Gradle daemon, and Kotlin daemon. You can either accept the recommended settings by clicking the action link in the notification, or you can adjust these settings manually by selecting File > Settings (or Android Studio > Preferences on macOS), and then finding the Memory Settings section under Appearance & Behavior > System Settings.
  • Memory usage report:
  • Memory problems in Android Studio are sometimes difficult to reproduce and report. To help solve this problem, Android Studio lets you generate a memory usage report by clicking Help > Analyze Memory Usage from the menu bar. When you do so, the IDE locally sanitizes the data for personal information before asking whether you want to send it to the Android Studio team to help identify the source of the memory issues.
  • Project Marble: Feature polish:
  • This section describes the changes in Android Studio 3.5 that are focused on improving existing features.
  • Apply Changes:
  • Apply Changes lets you push code and resource changes to your running app without restarting your app—and, in some cases, without restarting the current activity. Apply Changes implements a completely new approach for preserving your app’s state. Unlike Instant Run, which rewrote the bytecode of your APK, Apply Changes redefines classes on the fly by leveraging the runtime instrumentation supported in Android 8.0 (API level 26) or higher.
  • App deployment flow:
  • The IDE has a new drop-down menu that lets you quickly select which device you'd like to deploy your app to. This menu also includes a new option that lets you run your app on multiple devices at once.
  • Improved Gradle sync and cache detection:
  • The IDE now better detects when Gradle periodically clears your build cache when reducing its hard disk consumption. In previous versions, this state caused the IDE to report missing dependencies and Gradle sync to fail. Now, the IDE simply downloads dependencies as needed to ensure that Gradle sync completes successfully.
  • Improved build error output:
  • The Build Build window icon window now provides better error reporting, such as a link to the file and line of the reported error, for the following build processes:
  • AAPT compilation and linking
  • R8 and ProGuard
  • Dexing
  • Resource merging
  • XML file parsing
  • Javac, Kotlinc, and CMake compilation
  • Project Upgrades:
  • Improved update experience to provide more information and actions to help you update the IDE and the Android Gradle plugin. For example, more sync and build errors include actions to help you mitigate errors when updating.
  • It’s important to keep in mind, you can update the IDE independently of other components, such as the Android Gradle plugin. So, you can safely update the IDE as soon as a newer version is available, and update other components later.
  • Layout Editor:
  • Android Studio 3.5 includes several improvements to layout visualization, management, and interaction.
  • When working with ConstraintLayout, a new Constraints section in the Attributes panel lists the constraints relationships of the selected UI component. You can select a constraint either from the design surface or from the constraints list to highlight the constraint in both areas.
  • Similarly, you can now delete a constraint by selecting it and pressing the Delete key. You can also delete a constraint by holding the Control key (Command on macOS) and clicking on the constraint anchor. Note that when you hold the Control or Command key and hover over an anchor, any associated constraints turn red to indicate that you can click to delete them.
  • When a view is selected, you can create a constraint by clicking on any of the + icons in the Constraint Widget section of the Attributes panel, as shown in the following image. When you create a new constraint, the Layout Editor now selects and highlights the constraint, providing immediate visual feedback for what you've just added.
  • When creating a constraint, the Layout Editor now shows only the eligible anchor points to which you can constrain. Previously, the Layout Editor highlighted all anchor points on all views, regardless of whether you could constrain to them. In addition, a blue overlay now highlights the target of the constraint. This highlighting is particularly useful when attempting to constrain to a component that overlaps with another.
  • In addition to the above updates, Android Studio 3.5 also contains the following Layout Editor improvements:
  • The Constraint Widget and default margin drop-down now allow you to use dimension resources for margins.
  • In the Layout Editor toolbar, the list of devices that determine the size of the design surface has been updated. In addition, snapping behavior while resizing has been improved, and the resizing handles on the design surface are now always visible. When resizing, new overlays appear that show common device sizes.
  • The Layout Editor has a new color scheme that improves consistency and reduces contrast between components, text, and constraints.
  • Blueprint mode now includes text support for some components where text wasn't being shown.
  • Data Binding:
  • In addition to adding incremental annotation processing support for Data Binding, the IDE improves smart editor features and performance when creating data binding expressions in XML.
  • Improved support for C/C++ projects:
  • Android Studio 3.5 includes several changes that improve support for C/C++ projects.
  • Build Variants panel improvements for single variant sync:
  • You can now specify both the active build variant and active ABI in the Build Variants panel. This feature simplifies build configuration per module and can also improve Gradle sync performance.
  • Side-by-side versions of the NDK:
  • You can now use multiple versions of the NDK side-by-side. This feature gives you more flexibility when configuring your projects—for example, if you have projects that use different versions of the NDK on the same machine.
  • If your project uses Android Gradle plugin 3.5.0 or higher, you can also specify the version of the NDK that each module in your project should use. You can use this feature to create reproducible builds and to mitigate incompatibilities between NDK versions and the Android Gradle plugin.
  • Chrome OS Support:
  • Android Studio now officially supports Chrome OS devices, such as the HP Chromebook x360 14, Acer Chromebook 13/Spin 13, and others that you can read about in the system requirements. To get started, download Android Studio on your compatible Chrome OS device and follow the installation instructions.
  • Conditional delivery for dynamic feature modules:
  • Conditional delivery allows you to set certain device configuration requirements for dynamic feature modules to be downloaded automatically during app install. For example, you can configure a dynamic feature module that includes functionality for augmented reality (AR) to be available at app install for only devices that support AR.
  • This delivery mechanism currently supports controlling the download of a module at app install-time based on the following device configurations:
  • Device hardware and software features, including OpenGL ES version
  • User country
  • API level
  • IntelliJ IDEA 2019.1:
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2019.1 release, such as theme customization.

New in Android Studio 3.6 Canary 6 (Aug 14, 2019)

  • Binary Intelligence:
  • Issue #137768457: Multiple versions in dependencies.pb file
  • Issue #136567112: Update Gradle so that runtime and package time dependencies are not conflated for dynamic-features
  • Build:
  • Issue #134989020: Android Gradle Plugin 3.6.0-alpha03 assumes ninja binaries next to CMake
  • Issue #138404837: AS 3.6 build variants are not switched to compatible variants automatically
  • Data Binding:
  • Issue #136194613: BR fields no longer generated for @Bindable properties
  • Issue #126775542: Testing with Robolectric 4.0 on DataBinding enabled lib modules will throw `java.lang.NoClassDefFoundError: androidx/databinding/DataBinderMapperImpl`
  • Editing:
  • Issue #131127406: Can not resolve method 'getString(?)'
  • Gradle:
  • Issue #137541112: Add Provider-based API for getting the mapping file
  • Issue #137002718: Publish zipflinger under com.android.tools.build
  • Issue #137488460: java.nio.file.InvalidPathException
  • Issue #135672715: Support targeting rules in JAR/AAR to R8/Proguard versions
  • Gradle C++:
  • Issue #134374003: Android Gradle Plugin: “Expected output file at … for target … but there was none” when CMakeLists defines object libraries
  • Kotlin:
  • Issue #66890777: Bug: no quick-fix for missing "when" cases (the equivalant to "switch-case" in Java)
  • Layout Editor:
  • Issue #135367227: "Clear All Constraints" button does not clear constraints
  • Lint:
  • Issue #131114390: Bug: quick-fix of adding permission check doesn't do anything
  • Issue #137035119: GradleModelMocker persists across lint invocations during tests causing an assertion to fail
  • Project Structure Dialog:
  • Issue #134442868: PSD does not show hierarchical view of modules
  • Project System:
  • Issue #137949567: Extra space or font alignment problem in gradle sync message
  • Shrinker (R8):
  • Issue #131572129: Provide per-variant R8 printusage and printseed output
  • Testing:
  • Issue #37132226: [AS 2.3] Missing extra runner parameters field in Run Configuration for Android Instrumentation Tests
  • Issue #113305007: Android instrumented test never starts in debugging mode.

New in Android Studio 3.5 RC 3 (Aug 9, 2019)

  • General fixes:
  • Issue #137768457: Multiple versions in dependencies.pb file
  • Gradle:
  • Issue #137729143: Resources overriding strategy between external and local libraries resources is broken
  • Gradle Sync:
  • Issue #135201784: Studio 3.5 Beta 4 freezes while loading AndroidX project
  • Lint:
  • Issue #133377376: Android studio ide freezes
  • Shrinker (R8):
  • Issue #132897042: NullPointerException in R8 Following Control Flow Obfuscation
  • Issue #138044583: R8 compat mode removes unused constructor
  • Issue #135172146: R8 fails with "Undefined value encountered during compilation"
  • Issue #138668220: R8 fails when excuting task ":wallet:transformClassesAndResourcesWithR8ForRelease"

New in Android Studio 3.5 RC 2 (Aug 2, 2019)

  • AndroidX:
  • Issue #137277710: Update mappings to match https://developer.android.com/jetpack/androidx/migrate
  • Issue #137073253: Missing exoplayer migration rule in "Migrate to AndroidX"
  • Apply Changes:
  • Issue #137795791: Exception during delta push: java.io.IOException: write failed: EBADF (Bad file descriptor)
  • Core IDE:
  • Issue #130315019: StackOverflowError in XmlUtils
  • Dexer (D8):
  • Issue #136717060: Support JDK Math library JDK tests
  • Gradle:
  • Issue #135665414: Aapt exception points to AndroidManifest by mistake
  • Issue #136987001: Resource error message rewritting not working properly since 3.5.0-alpha09
  • Issue #137768457: Multiple versions in dependencies.pb file
  • Issue #130596259: MissingResourceException: Can't find bundle for base name org.jacoco.core.jacoco
  • Gradle Sync:
  • Issue #137160057: Internal sync error when syncing androidx project in Studio 3.5 Beta 5
  • Jetifier:
  • Issue #133770823: "Migrate to AndroidX" doesn't migrate WorkManager
  • Metrics:
  • Issue #137662411: do not repeat satisfaction dialog upon user cancel
  • Project System:
  • Issue #134174287: Exception report: kotlin.KotlinNullPointerException at com.android.tools.idea.gradle.structure.navigation.PsBuildVariantsNavigationPath.queryPlace-ed807e05
  • Resource Management:
  • Issue #137013090: Tabbed Pane has a background glitch in Linux
  • Shrinker (R8):
  • Issue #135627418: Gradle Plugin 3.4.1 crashes app on Android 5 devices with Verifier rejected class due to bad method
  • Issue #119626580: Two phases in Class staticizer are seeing different IR code.
  • Issue #138044583: R8 compat mode removes unused constructor
  • Issue #136195382: java.lang.IllegalAccessError after shrinking code with R8 shrinker wrong method is called
  • Issue #132897042: NullPointerException in R8 Following Control Flow Obfuscation
  • Issue #137484867: Converting method to return void does not take local info into account
  • Issue #136697156: R8 fails with "Attempt to define local of type int as moduleSize" (new in AS 3.5-beta05)
  • Issue #135172146: R8 fails with "Undefined value encountered during compilation"
  • Issue #136636007: Remove all .kotlin_metadata from r8 jars

New in Android Studio 3.5 RC 1 (Jul 18, 2019)

  • Gradle:
  • Issue #130740393: Error running unit tests in Android Studio 3.4
  • Issue #133092984: DataBinding modules cause MergeDebugResources to run
  • Issue #126775254: aapt2FromMaven task input prevents build cache from being shared across different OSes
  • Issue #136150634: transformClassesWithMergeClassesForRelease fails with duplicate entry: META-INF/versions/9/module-info.class
  • Issue #130102823: StackOverflowError with DefaultPropertyState.getOrNull
  • Kotlin:
  • Issue #128835109: resources.srcDirs = ['src'] option in gradle leakes .kt source code in artifact (APK)
  • Lint:
  • Issue #131844902: DefaultJavaEvaluator.getProject sometimes returning /media for /media2/player/...MediaPlayer.java
  • Navigation:
  • Issue #133280833: element can only be included in application manifest
  • Shrinker (R8):
  • Issue #132549918: Using -keepparameternames has no effect
  • Issue #134304597: VerifyError: kotlinx/coroutines/AbstractCoroutine at API 17, 18
  • Issue #135210786: NoClassDefFoundError in runtime on API 19 and below when using AGP 3.5.0-beta04
  • Issue #134858535: Execution failed for task ':app:transformClassesAndResourcesWithR8ForDebug'.

New in Android Studio 3.6 Canary 5 (Jul 18, 2019)

  • Core IDE:
  • Issue #135132378: "Generate Signed Bundle or APK" => "Module" list order problem
  • Data Binding:
  • Issue #135147332: Make sure "safeUnbox" doesn't show an "unresolved reference" error
  • Gradle:
  • Issue #133092984: DataBinding modules cause MergeDebugResources to run
  • Issue #131659806: Databinding-generated classes have non-deterministic ordering, defeating gradle's remote build cache
  • Issue #134766811: Gradle plugin 3.6.0-alpha02 with removeUnusedResources causes app to crash on start
  • Issue #130363042: Gradle should guarantee delivery of error messages
  • Issue #130740393: Error running unit tests in Android Studio 3.4
  • Issue #133727918: Pass AAPT generated main dex list rules to R8
  • Issue #68759476: ExtractAnnotations is not relocatable
  • Issue #135665414: Aapt exception points to AndroidManifest by mistake
  • Issue #133354240: The Android Gradle plugin should not extend the JavaCompile task
  • Kotlin:
  • Issue #128835109: resources.srcDirs = ['src'] option in gradle leakes .kt source code in artifact (APK)
  • Layout Editor:
  • Issue #134801179: Bug : Layout Editor shapeAppearenceOverlay attribute
  • Lint:
  • Issue #126221824: Enforce RestrictTo(LIBRARY_GROUP) when the API is defined in another project
  • Issue #68398926: Add an option to specify group and artifactId for lint
  • Issue #135275901: "LambdaLast" check probably shouldn't apply to Executor
  • Issue #132668553: Custom view Lint
  • Issue #134237547: UnknownNullness should run on Kotlin sources and detect platform type propagation
  • Issue #135681813: vector drawable compat error message needs more info
  • New Project Wizard:
  • Issue #135761384: Bad ExampleInstrumentedTest file created
  • Project System:
  • Issue #129994596: IllegalStateException: buildOutput.apkData must not be null when building with obfuscation [3.4.0-rc03]
  • Issue #129612500: Opening 2nd Project causes Indefinite display of "Indexing paused due to batch update"

New in Android Studio 3.4.2 (Jul 10, 2019)

  • Gradle:
  • Issue #131167099: Gradle Sync error: No value has been specified for property 'manifestOutputDirectory'.
  • IntelliJ:
  • Issue #124680708: Git Push Crashes from IDE
  • Shrinker (R8):
  • Issue #131167099: Gradle Sync error: No value has been specified for property 'manifestOutputDirectory'.
  • Issue #131140696: AbortException: Error: Undefined value encountered during compilation.
  • Issue #131207184: Android Studio 3.5 Canary 13 - Undefined value encountered during compilation, invalid dex input
  • Issue #130789358: java.lang.IllegalArgumentException: Multiple entries with same key
  • Issue #131443760: Android Gradle Plugin 3.5.0-alpha13 fails with R8 1.5.20-dev (build a85ccd499f6d149322870a8aedddc92152071a01
  • Issue #131505760: R8 don't support obfuscationdictionary on field

New in Android Studio 3.5 Beta 5 (Jun 27, 2019)

  • Fixed issues with predefined Android code styling
  • We fixed the underlying issues around applying the predefined Android code style for Java and XML, and it is now the default again both for IDE and project schemes. If you have local code style changes, those will be unaffected; you can always reapply the Android code style by selecting Set from > Predefined Style > Android on the Code Style settings page to reapply the defaults. (Issue #131581006)
  • General fixes:
  • This update also includes fixes for the following public issues:
  • Core IDE:
  • Issue #133666019: New Image Asset wizard (launcher / legacy) does not trim image to selected shape
  • Issue #133771451: IDE ERROR DISPLAY
  • Issue #133066328: Error preview when creating image asset > icon launcher (Preview rendering error: rendering failed - null)
  • Data Binding:
  • Issue #131889243: Studio 3.5 deadlock (Kotlin resolve + databinding)
  • Issue #132367955: AS 3.5 Beta 1 assumes Databinding bindings are Views
  • Design Tools:
  • Issue #133184665: Resource picker doesn't appear when adding an attribute using Declared Attribute + button
  • Dexer (D8):
  • Issue #118842646: Ability to selectively suppress warnings during D8 desugaring
  • Gradle:
  • Issue #132840182: ClassNotFoundException on API 21 or 22 device.
  • Issue #133273847: Error: Duplicate resources in gradle plugin 3.5.0-beta01 and 02
  • Layout Editor:
  • Issue #132578769: ConstraintLayout v2.0.0-beta1: Impossible to drop element on layout with data element defined
  • Issue #133789726: GoTo navigation goes to the wrong property or doesn't work
  • Issue #133225561: Completions does not seem to work in a newly added attribute
  • Issue #134522901: Android Studio full crash every time you undo widget rename
  • Issue #132323234: Long names don't fit in dropdown menus for attributes and can't be distinguished
  • Issue #133526948: attributes starting with "__removed" are showing up in the properties panel
  • Lint:
  • Issue #131844902: DefaultJavaEvaluator.getProject sometimes returning /media for /media2/player/...MediaPlayer.java
  • Issue #111487505: Unnecessary warning for Attribute 'importantForAutofill' is only used in API level 26 and higher
  • Navigation:
  • Issue #133280833: element can only be included in application manifest
  • Run Debug:
  • Issue #134515798: Improve error reporting when ADB cannot be executed
  • Issue #131786506: IndexNotReadyException in AndroidTestRunConfiguration.getRunnerFromManifest
  • Shrinker (R8):
  • Issue #132549918: Using -keepparameternames has no effect
  • Issue #134304597: VerifyError: kotlinx/coroutines/AbstractCoroutine at API 17, 18
  • Issue #135210786: NoClassDefFoundError in runtime on API 19 and below when using AGP 3.5.0-beta04
  • Issue #134093979: Unsupported source file type (META-INF/versions/9/module-info.class)
  • Issue #133686361: R8 1.5 issue with Google play core library
  • Issue #134462736: R8 1.5.43 introduce again VerifyError
  • Issue #133215941: VerifyError with Android Annotations
  • Issue #133457361: AbstractMethodError when calling interface provided as Java 8 lambda with R8 on Android Gradle Plugin 3.4.1
  • Issue #132953944: java.lang.VerifyError at api19 and below
  • Issue #134838460: Add support for keep option modifier `includecode`

New in Android Studio 3.6 Canary 4 (Jun 27, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Compilers:
  • Issue #130965921: java.lang.ClassNotFoundException in ART ( API > 21 )
  • Core IDE:
  • Issue #133666019: New Image Asset wizard (launcher / legacy) does not trim image to selected shape
  • Issue #133771451: IDE ERROR DISPLAY
  • Data Binding:
  • Issue #132367955: AS 3.5 Beta 1 assumes Databinding bindings are Views
  • Design Tools:
  • Issue #133184665: Resource picker doesn't appear when adding an attribute using Declared Attribute + button
  • Gradle:
  • Issue #133299018: fixStackFrames Task - Cannot convert the provided notation to a File or URI
  • Issue #134147459: Using android.generateRJava=true should revert to old pipeline
  • Issue #133273847: Error: Duplicate resources in gradle plugin 3.5.0-beta01 and 02
  • Issue #132840182: ClassNotFoundException on API 21 or 22 device.
  • Gradle Sync:
  • 255204144Issue #133864396: Gradle sync fails in 3.6 Canary 2
  • Layout Editor:
  • Issue #133526948: attributes starting with "__removed" are showing up in the properties panel
  • Issue #133789726: GoTo navigation goes to the wrong property or doesn't work
  • Issue #133225561: Completions does not seem to work in a newly added attribute
  • Issue #132323234: Long names don't fit in dropdown menus for attributes and can't be distinguished
  • Project System:
  • Issue #133578918: Create new include line in settings.gradle when adding a new module
  • Run Debug:
  • Issue #131786506: IndexNotReadyException in AndroidTestRunConfiguration.getRunnerFromManifest
  • Shrinker (R8):
  • Issue #134093979: Unsupported source file type (META-INF/versions/9/module-info.class)
  • Issue #133772374: Make Fabric 1.28.0 min version to use with AGP 3.6

New in Android Studio 3.6 Canary 3 (Jun 18, 2019)

  • Fixed crash in headless mode.
  • Added metrics reporting to multi-display feature.

New in Android Studio 3.5 Beta 4 (Jun 18, 2019)

  • Build:
  • Issue #131271062: Gradle sync error "Conversion = 'F'"
  • Deployment:
  • Issue #133403822: Unable to re-install APK from Studio 3.5 Beta 1
  • Dexer (D8):
  • Issue #118842646: Ability to selectively suppress warnings during D8 desugaring
  • Gradle:
  • Issue #130917947: App dependencies incorrectly bundled in test apk when targeting Java 8
  • Issue #133394180: Do not pass classpath to D8 if minSdkVersion is 24+
  • Shrinker (R8):
  • Issue #133379765: cannot be cast to kotlin.jvm.functions.Function1
  • Issue #129493704: Not honoring -dontusemixedcaseclassnames flag
  • Issue #133167042: com.android.tools.r8.errors.Unreachable: com.android.tools.r8.errors.Unreachable: DexItemBasedConstString instructions should always be rewritten into ConstString

New in Android Studio 3.6 Canary 2 (May 31, 2019)

  • Android App Bundles:
  • Issue #132721337: Remove warning when using gradle property enableUncompressedNativeLibs
  • Compilers:
  • Issue #130965921: java.lang.ClassNotFoundException in ART ( API > 21 )
  • Gradle:
  • Issue #110061530: Build plugin prevent to use incremental compilation when Data Binding is enabled
  • Issue #132880111: BuildElements is not OS agnostic.
  • Issue #130917947: App dependencies incorrectly bundled in test apk when targeting Java 8
  • Issue #130531986: Support Lombok and Error Prone when annotation processing is performed by a separate task
  • Issue #132813062: Mutlitple producers of CODE_COVERAGE when having more than one device provider.
  • Kotlin:
  • Issue #128851036: Can't refactor class
  • Layout Editor:
  • Issue #131816250: Bug: Resource picker blocked by Mac scrollbar
  • Navigation Editor:
  • Issue #133255172: Enum and Resource Reference types can incorrectly be made into arrays
  • Issue #133253598: Enum arguments can incorrectly be set to nullable
  • Project Structure Dialog:
  • Issue #131225073: Flavor dimensions are not fetched from the resolved model.
  • Project System:
  • Issue #130138336: Editor not seeing proper classpaths
  • SDK Manager:
  • Issue #132473200: Nothing big/ worrysome. i have updated my sdk packages completely but still it shows partially installed Q package and Androuid studio splash screen has graphics glitch with the loading bar
  • Shrinker (R8):
  • Issue #131349148: Dalvik : java.lang.VerifyError

New in Android Studio 3.6 Canary 1 (May 24, 2019)

  • Android Studio UI:
  • Issue #129264179: Cannot run tests from included builds from IDE
  • APK Viewer:
  • Issue #127956589: APK Analyzer returns "?" instead of valid version name after upgrade to 3.3.2
  • App Development:
  • Issue #37075681: screenshot2 Tool NullPointerException on Linux
  • AVD Manager:
  • Issue #116873929: CPU/ABI column in AVD Manager truncates text longer than 3 characters (x86-64) and is not resizable
  • Build:
  • Issue #131271062: Gradle sync error "Conversion = 'F'"
  • C++:
  • Issue #132348328: C++ opening includes node never completes
  • Core IDE:
  • Issue #129091225: Android Drawable Importer has wrong res dir path when import vector
  • Issue #127132288: New vector asset action does not work
  • Issue #130040636: onClick method generator from xml not working
  • Issue #118487169: Started crashing on startup (corrupt JSON file in ~/.AndroidStudio3.2)
  • Data Binding:
  • Issue #131889243: Studio 3.5 deadlock (Kotlin resolve + databinding)
  • Issue #131435650: Completion suggestions should include imported types
  • Issue #129501142: code completion: put cursor in method parens when completing functions
  • Issue #129497691: code completion: support completion for java.lang classes
  • Deployment:
  • Issue #130042035: UnsatisfiedLinkError
  • Issue #128208663: AS 3.5 Canary 6: Attempted app downgrades are not detected
  • Issue #122936785: Databinding does not work with com.android.tools.build:gradle:3.4.0-beta01
  • Design Tools:
  • Issue #129801143: Request: always choose correct size when importing an SVG to be converted into VectorDrawable
  • Editing:
  • Issue #129323345: Code Formatting changes the order of components in Layout hierarchy
  • Issue #119606996: Studio SQL name resolver fails on a valid query
  • Issue #69240105: Missing support for complicated WITH clauses in Room queries
  • Gradle:
  • Issue #119234600: GradlePropertyModelImpl IllegalStateException: Duplicate key 1.1.5
  • Issue #131393499: Update to Gradle 5.4.1
  • Issue #131204372: Main dex list is empty with dynamic features and Proguard
  • Issue #131114388: R8 - D8 FIrebase performance plugin - Caused by: com.android.tools.r8.utils.AbortException: Error: program input module-info.class', Unsupported source file type
  • Issue #118363127: Improve Application packaging performance
  • Issue #126874329: Turkish Letters Bug
  • Issue #127691661: APK for minSdkVersion=M+, so files should not be compressed by default.
  • Gradle Sync:
  • Issue #124680713: NewGradleSyncNotSupportedException when trying to Gradle Sync
  • Issue #129261435: Android syncing hangs if distributionSha256Sum mismatches after upgrade
  • Issue #123098107: Gradle got error
  • Issue #127848590: Cached sync: Crashes if a project is moved/renamed
  • IntelliJ:
  • Issue #130580475: Code Style gone from preferences
  • Issue #124680708: Git Push Crashes from IDE
  • Issue #113304627: Graphical artifact in loading screen
  • Layout Editor:
  • Issue #130984780: Android Studio hangs when adding an ImageView to a layout
  • Issue #129926965: Adding button breaks Layout builder
  • Issue #128275926: Scrolling in the Attributes pane is far too aggressive
  • Lint:
  • Issue #124466808: IconExpectedSize triggered on icon that was generated from Android Studio
  • Issue #129985008: DuplicateResourceDetector throws StringIndexOutOfBoundsException with " " in strings.xml
  • Issue #131073349: Lint fails to add all densities/orientations of a resource to baseline, then fails on subsequent runs
  • Issue #130892328: False positive DrawAllocation
  • New Project Wizard:
  • Issue #130169021: New library modules generated in Android Studio do not set consumerProguardFiles in the gradle script
  • Project Structure Dialog:
  • Issue #131468843: PSD reports "release" build as missing if it is not explicitly declared
  • Issue #131481330: PSD does not reload errors.suggesting when receives additional data from Gradle
  • Project System:
  • Issue #130226195: Warning when opening KTS-based project
  • Issue #131210383: Cannot resolve symbol BuildConfig on 3.5 Canary 13
  • Issue #123677461: Android Gradle Plugin Update adds extra google() repository when doing repository configuration
  • Run Debug:
  • Issue #131170197: Detect and warn if debugging an app that is not "debuggable"
  • Shrinker (R8):
  • Issue #131349148: Dalvik : java.lang.VerifyError

New in Android Studio 3.5 Beta 2 (May 21, 2019)

  • This update includes fixes for the following public issues:
  • Updates the Android Gradle plugin to using Gradle 5.4.1
  • R8 - D8 FIrebase performance plugin - Caused by: com.android.tools.r8.utils.AbortException: Error: program input module-info.class', Unsupported source file type
  • Main dex list is empty with dynamic features and Proguard
  • java.lang.IllegalAccessError: Illegal class access
  • Android Stuido 3.4 R8 proguard assumenosideeffects
  • Android Studio 3.5 Canary 13 - NullPointerException in com.android.tools.r8.naming.ClassNameMinifier
  • Request: always choose correct size when importing an SVG to be converted into VectorDrawable
  • Adding button breaks Layout builder
  • Code Formatting changes the order of components in Layout hierarchy
  • Code Style gone from preferences
  • Cannot resolve symbol BuildConfig on 3.5 Canary 13
  • Warning when opening KTS-based project
  • PSD reports "release" build as missing if it is not explicitly declared
  • PSD does not reload errors.suggesting when receives additional data from Gradle

New in Android Studio 3.4.1 (May 16, 2019)

  • Data Binding:
  • Issue #122464849: DataBinding - Layout "class" attribute in "data" tag throws error
  • Issue #122936785: Databinding does not work with com.android.tools.build:gradle:3.4.0-beta01
  • Issue #122066788: NullpointerException in android.databinding.ViewDataBinding
  • Dexer (D8):
  • Issue #129362492: Studio 3.4 RC2 appears to ignore Java compatibility level for non-debug build variants, will not deploy app
  • Issue #129730297: Java 8 methods of java.lang.Long and java.lang.Character are not desugared by D8
  • Issue #129901036: NPE on workaroundExceptionTargetingLoopHeaderBug
  • Editing:
  • Issue #128579793: Cannot resolve symbol problem in XML in AS 3.4 RC 1
  • Gradle:
  • Issue #129145240: Unable to use Proguard from DSL
  • Layout Editor:
  • Issue #123222832: CardView render fail in Android Studio 3.3
  • Shrinker (R8):
  • Issue #128987064: calling class mis-attributed leading to illegal invoke-super
  • Issue #127932803: Extra rules needs to be added for keeping library dependency (slf4j) when using R8
  • Issue #130135768: The "keeppackagenames" rule does not work.
  • Issue #129410384: VerifyError: register has type Reference Object[] but expected Reference Parcelable[]
  • Issue #129935705: Make warnings for -optimizationpasses and -optimizations info

New in Android Studio 3.5 Beta 1 (May 8, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • APK Viewer:
  • Issue #127956589: APK Analyzer returns "?" instead of valid version name after upgrade to 3.3.2
  • Core IDE:
  • Issue #129091225: Android Drawable Importer has wrong res dir path when import vector
  • Issue #129264179: Cannot run tests from included builds from IDE
  • Data Binding:
  • Issue #129497691: code completion: support completion for java.lang classes
  • Databinding:
  • Issue #122936785: Databinding does not work with com.android.tools.build:gradle:3.4.0-beta01
  • Deployment:
  • Issue #128208663: AS 3.5 Canary 6: Attempted app downgrades are not detected
  • Gradle:
  • Issue #126874329: Turkish Letters Bug
  • Gradle Sync:
  • Issue #127848590: Cached sync: Crashes if a project is moved/renamed
  • New Project Wizard:
  • Issue #130169021: New library modules generated in Android Studio do not set consumerProguardFiles in the gradle script

New in Android Studio 3.5 Canary 13 (Apr 25, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Android Studio UI:
  • Issue #124025065: Icon selection window improvements
  • Core IDE:
  • Issue #128271323: Can't open AVD manager from the landing window (when there are no open projects)
  • Issue #130166128: Reduce usage of VirtualFile.getFileType in PsiProjectListener
  • Issue #130166139: Clean up PsiProjectListener.isRelevantFile and AndroidResourceFilesListener.shouldScheduleUpdate
  • Data Binding:
  • Issue #122464849: DataBinding - Layout "class" attribute in "data" tag throws error
  • Issue #117607324: xml code completion does not recognize Observable / LiveData
  • Issue #119645762: DataBinding fails for transitive deps.
  • Deployment:
  • Issue #130168866: New deployment flow with identical devices should show serial numbers
  • Issue #129078765: Investigate why fixConfigurationsMissingBeforeRunTask can fail
  • Gradle:
  • Issue #129758703: Deprecate useProguard in DSL
  • Issue #130296666: BooleanOption warnings (experimental/deprecated) should be only displayed once
  • Kotlin:
  • Issue #121022032: Separate test scopes are broken in Kotln
  • Project System:
  • Issue #130053180: PSD shouldn't suggest upgrading from stable library to unstable library

New in Android Studio 3.4 (Apr 18, 2019)

  • IntelliJ IDEA 2018.3.4:
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2018.3.4 release.
  • Android Gradle plugin 3.4.0 updates:
  • For information on what’s new in Android Gradle plugin 3.4.0, see its release notes.
  • New Project Structure Dialog:
  • The new Project Structure Dialog (PSD) makes it easier to update dependencies and configure different aspects of your project, such as modules, build variants, signing configurations, and build variables.
  • You can open the PSD by selecting File > Project Structure from the menu bar. You can also open the PSD by pressing Ctrl+Shift+Alt+S on Windows and Linux, or Command+; (semicolon) on macOS. You can find descriptions of some of the new and updated sections of the PSD below.
  • Variables:
  • The new variables section of the PSD allows you to create and manage build variables, such as those to keep version numbers for dependencies consistent across your project.
  • Quickly view and edit build variables that already exist in your project’s Gradle build scripts.
  • Add new build variables at a project- or module-level directly from the PSD.
  • Modules:
  • Configure properties that are applied to all build variants in an existing module or add new modules to your project from the Modules section. For example, this is where you can configure defaultConfig properties or manage signing configurations.
  • Dependencies:
  • Inspect and visualize each dependency in the dependency graph of your project, as resolved by Gradle during project sync, by following these steps:
  • In the left pane of the PSD, select Dependencies.
  • In the Modules pane, select a module for which you’d like to inspect the resolved dependencies.
  • On the right side of the PSD, open the Resolved Dependencies pane, which is shown below.
  • You can also quickly search for and add dependencies to your project by first selecting a module from the Dependencies section of the PSD, clicking the (+) button in the Declared Dependencies section, and selecting the type of dependency you want to add.
  • Depending on the type of dependency you select, you should see a dialog, similar to the one below, that helps you add the dependency to the module.
  • Build Variants:
  • In this section of the PSD, create and configure build variants and product flavors for each module in your project. You can add manifest placeholders, add ProGuard files, and assign signing keys, and more.
  • Suggestions:
  • See suggested updates for project dependencies and build variables in the Suggestions section.
  • New Resource Manager:
  • Resource Manager is a new tool window for importing, creating, managing, and using resources in your app. You can open the tool window by selecting View > Tool Windows > Resource Manager from the menu bar. The Resource Manager allows you to do the following:
  • Visualize resources: You can preview drawables, colors, and layouts to quickly find the resources you need.
  • Bulk import: You can import multiple drawable assets at once by either dragging and dropping them into the Resource Manager tool window or by using the Import drawables wizard. To access the wizard, select the (+) button at the top-left corner of the tool window, and then select Import Drawables from the drop down menu.
  • Convert SVGs into VectorDrawable objects: You can use the Import Drawables wizard to convert your SVG images into VectorDrawable objects.
  • Drag and drop assets: From the Resource Manager tool window, you can drag and drop drawables onto both the design and XML views of the Layout Editor.
  • View alternative versions: You can now view alternative versions of your resources by double-clicking a resource within the Tool window. This view shows the different versions you have created and the qualifiers that were included.
  • Tile and list views: You can change the view within the tool window to visualize your resources in different arrangements.
  • Checking build IDs when profiling and debugging APKs:
  • When you provide debugging symbol files for the .so shared libraries inside your APK, Android Studio verifies that the build ID of the provided symbol files match the build ID of the .so libraries inside the APK.
  • If you build the native libraries in your APK with a build ID, Android Studio checks whether the build ID in your symbol files matches the build ID in your native libraries and rejects the symbol files if there is a mismatch. If you did not build with a build ID, then providing incorrect symbol files may cause problems with debugging.
  • R8 enabled by default:
  • R8 integrates desugaring, shrinking, obfuscating, optimizing, and dexing all in one step—resulting in noticeable build performance improvements. R8 was introduced in Android Gradle plugin 3.3.0 and is now enabled by default for both app and Android library projects using plugin 3.4.0 and higher.
  • Now, with R8, desugaring, shrinking, obfuscating, optimizing, and dexing (D8) are all completed in one step.
  • Keep in mind, R8 is designed to work with your existing ProGuard rules, so you’ll likely not need to take any actions to benefit from R8. However, because it’s a different technology to ProGuard that’s designed specifically for Android projects, shrinking and optimization may result in removing code that ProGuard may have not. So, in this unlikely situation, you might need to add additional rules to keep that code in your build output.
  • Navigation Editor now supports all argument types:
  • All argument types supported by the Navigation component are now supported in the Navigation Editor. For more information on supported types, see Pass data between destinations.
  • Layout Editor improvements:
  • The Attributes pane in the Layout Editor has been streamlined into a single page with sections you can expand to reveal attributes you can configure. The Attributes pane also includes the following updates:
  • A new Declared Attributes section lists the attributes the layout file specifies and allows you to quickly add new ones.
  • The Attributes pane now also features indicators next to each attribute that are solid when the attribute's value is a resource reference and empty otherwise.
  • Attributes with errors or warnings are now highlighted. Red highlights indicate errors (for example, when you use invalid layout values) and orange highlights indicate warnings (for example, when you use hard-coded values).
  • New intention action to quickly import dependencies:
  • If you start using certain Jetpack and Firebase classes in your code, a new intention action suggests adding the required Gradle library dependency to your project, if you haven’t already done so. For example, if you reference the WorkManager class without first importing the required android.arch.work:work-runtime dependency, an intention action lets you do so easily in a single click, as shown below.
  • In particular, because Jetpack repackaged the support library into discrete packages that are easier to manage and update, this intention action helps you quickly add only the dependencies you need for the Jetpack components you want to use.

New in Android Studio 3.5 Canary 11 (Apr 16, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • AVD Manager:
  • Issue #129338679: AVD managers suggests internal storage size way too big
  • Issue #123531078: Inconsistent navigation behavior from generated binding object between Java and Kotlin Project
  • Issue #129092517: Add lint error for missing kapt plugin in build.gradle.kts files
  • Data Binding:
  • Issue #123379503: Changing element in does not change binding for kotlin files until Rebuild project.
  • Debugger:
  • Issue #128579793: Cannot resolve symbol problem in XML in AS 3.4 RC 1
  • Editing:
  • Issue #123863053: Debugger fails to install / act on PC for a given line.

New in Android Studio 3.5 Canary 10 (Apr 5, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Data Binding:
  • Issue #129157264: Finding references in XML data binding expressions from Java not working
  • Issue #128643036: clicking on error does not navigate to file
  • Issue #120561619: Data binding is breaking code coverage on AS 3.3 RC 1
  • Issue #129093274: Add kapt lint for new plugin {} syntax
  • Debugger:
  • Issue #127623509: Android Studio exception when attaching to process for debugging
  • Deployment:
  • Issue #123461157: Run configuration doesn't remember last played emulator selection with drop down menu
  • Issue #122956093: Run keystroke (^R) doesn't work if the Navigation Bar is turned off
  • Gradle:
  • Issue #120429381: Pixelbprobe test fail on Windows.
  • Kotlin:
  • Issue #129260858: Android Studio 3.5 Canary 8 - Build Failed - Project Sync Failed
  • Lint:
  • Issue #127955232: Unexpected failure during lint analysis - NullPointerException
  • Resource Management:
  • Issue #124321895: Android Studio Import Drawable should rename imported drawable as per naming conventions
  • Testing:
  • Issue #115421146: Wrong classpath order when running JVM tests

New in Android Studio 3.4 RC 3 (Apr 2, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Core IDE:
  • Issue #124468305: $VERSION isn't resolved in Android Studio 3.4.0-beta04
  • Gradle:
  • Issue #123899777: Implementation transitive deps not available in runtime CP—AS 3.5 Canary 3
  • Layout Editor:
  • Issue #123121798: AS 3.4 B1 Freezes
  • Project System:
  • Issue #117642376: Running unit tests through Android Studio 3.2.1 does not work when class has certain dependencies
  • Shrinker (R8):
  • Issue #128468335: Double check requirement for quotation of -repackageclasses and -flattenpackagehierarchy
  • Issue #128327089: Changing proguardFiles does not trigger recompilation when running tinstrumented est
  • Issue #128813358: R8 failed with an NPE exception on r8.shaking.Enqueuer.enqueueHolderIfDependentNonStaticMember
  • Issue #128917897: AbstractMethodError after updating from Android Gradle Plugin 3.3.2 to 3.4.0-rc02

New in Android Studio 3.5 Canary 9 (Mar 29, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Build:
  • Issue #119713179: Android Studio CMake server does not show
  • Gradle:
  • Issue #123899777: Implementation transitive deps not available in runtime CP—AS 3.5 Canary 3
  • Issue #121257364: Download javadoc jar regardless of sources jar availability.
  • Issue #120098460: Roboelectric does not support Windows well.
  • Issue #124858507: PackgagingOptions are not applied when building minified AAR
  • Layout Editor:
  • Issue #110765629: Switching to code view when moving around in design view
  • Project System:
  • Issue #117642376: Running unit tests through Android Studio 3.2.1 does not work when class has certain dependencies
  • Project View:
  • Issue #118331259: Source files of Kotlin multiplatform modules are not shown in `Android` project view
  • Issue #128376513: Bug: no preview for a simple circle shape
  • Resource Management:
  • Issue #128417956: [Accessibility] Missing tooltip/accessible text on some button

New in Android Studio 3.5 Canary 8 (Mar 26, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • APK Viewer:
  • Issue #78248278: Display version number on Analyze APK screen
  • Build:
  • Issue #123895238: Execution failed for task ':app:generateJsonModelDebug' Format specifier '%s'
  • Core IDE:
  • Issue #123216329: [Studio 3.4 beta 3] Alternative resources are not renamed
  • Issue #123213449: PsiResourceItem name is not updated when file name changes
  • Data Binding:
  • Issue #124763193: Refactoring method name doesn't work
  • Issue #126379508: BR can't be found without fully qualified name
  • Issue #123773749: Data binding expression highlighting doesn't work when set to custom attributes
  • Issue #120277395: AndroidX compilation failure: "cannot generate view binders: Stream closed"
  • Debugger:
  • Issue #124121862: Unable to set breakpoints / step through code
  • Gradle:
  • Issue #124208289: Android Studio includes all densities and ABIs when deploying to a device
  • Issue #123303852: BuildConfig.APPLICATION_IS is confusing in library module
  • Issue #124235144: Reading META-INF/proguard files that are not inside .aars or .jars
  • Issue #117869443: Disallow manual split="foo" in dynamic feature manifests
  • Gradle Sync:
  • Issue #127647973: Project does not work correctly after removing the gradle cache
  • Issue #127776612: Cached sync does not complete with failure if crashes
  • Layout Editor:
  • Issue #128284728: [PropertyPanel] Typing a value moves the caret randomly and throw a out of bound exception
  • Lint:
  • Issue #124274575: @CallSuper in Java8 Interface with default implementation for method issue
  • Navigation Editor:
  • Issue #124356535: NPE in NavigationSchema
  • New Project Wizard:
  • Issue #127210786: Incorrect mParentActivity Type via Master/Detail Activity Wizard
  • Issue #123128650: New Module Wizard Should Offer Kotlin Support
  • Profilers:
  • Issue #125166472: Cannot open trace files generated with Debug.startMethodTracing in Android Studio
  • Run Debug:
  • Issue #77842190: UI freezes when running Wear project on a watch

New in Android Studio 3.4 RC 2 (Mar 15, 2019)

  • General fixes:
  • This update includes fixes for the following public issues:
  • Build:
  • Issue #123895238: Execution failed for task ':app:generateJsonModelDebug' Format specifier '%s'
  • Shrinker (R8):
  • Issue #127691114: R8 is incompatible with library android-retrostreams
  • Issue #126592786: Incorrectly removing refrenced class
  • Issue #126871526: New bots cannot archive
  • Issue #128387933: Missing class when using ORMLite with custom persister class
  • Issue #126443924: transformClassesAndResourcesWithR8 failed java.lang.IllegalStateException
  • Core IDE:
  • Issue #127878116: Updating from 3.4-BETA5 to 3.4-RC1 couldn't import previous configuration
  • Data Binding:
  • Issue #120277395: AndroidX compilation failure: "cannot generate view binders: Stream closed"
  • Layout Editor:
  • Issue #124232637: Property Panel: false negative error shown for listitem
  • Issue #124254043: RecyclerView tools attributes are not available during completions
  • New Project Wizard:
  • Issue #127210786: Incorrect mParentActivity Type via Master/Detail Activity Wizard
  • Gradle Sync:
  • Issue #127776612: Cached sync does not complete with failure if crashes

New in Android Studio 3.5 Canary 7 (Mar 12, 2019)

  • This update includes fixes for the following public issues:
  • Issue #116699306: Illegal character '-' in module name
  • Issue #121288180: The databinding annotation processor is injecting an absolute path into KotlinCompile (and maybe AndroidJavaCompile?), which defauts Gradle's remote build cache
  • Issue #67575899: Impossible to specify more than 255 file extensions for aaptOptions noCompress
  • Issue #123423125: AAPT2 crashes if plurals in xml contain an apostrophe
  • Issue #120898718: SVG with subpaths beginning with 'm' commands fails to convert properly
  • Issue #119517432: Exception on BR class completion from Java
  • Issue #119876558: Data binding, layout, TextView android:text, expression language, common feature, comparison lesser than '

New in Android Studio 3.4 RC 1 (Mar 8, 2019)

  • This update includes fixes for the following public issues:
  • Issue #67575899: Impossible to specify more than 255 file extensions for aaptOptions noCompress
  • Issue #124471103: lint.jar does not show up in packaged AAR libraries when using lintPublish
  • Issue #123423125: AAPT2 crashes if plurals in xml contain an apostrophe
  • Issue #124437190: Artifact collection during MergeResources task can take very long for sufficiently large dependency graphs.
  • Issue #115687654: AGP 3.2.0-rc03 Spurious build failure: Comparison method violates its general contract!
  • Issue #111056281: AAPT2 does not disable versioning of ObjectAnimator resources referenced in animated vector drawables
  • Issue #126273993: Dexer generates illegal move instructions assiging integers to doubles
  • Issue #123068053: D8 produces incorrect debug information for lambda desugaring.
  • Issue #124655989: Use of -whyareyoukeeping causes R8 compilation to fail
  • Issue #126592786: Incorrectly removing refrenced class
  • Issue #126871526: New bots cannot archive
  • Issue #124357885: Vertical class merging is not updating @dalvik.annotation.Signature value.
  • Issue #113374256: Cannot get from DexEncodedMethod to holder DexClass for outline methods
  • Issue #74379749: R8 keeps un-initialized static field which are only read
  • Issue #124181032: cannot parse keepclassmembers which contains excludes
  • Issue #124181030: Removed interfaces need to account for ServiceLoader resource filenames
  • Issue #124584385: IndexOutOfBoundsException when enable R8
  • Issue #124457717: R8 NullPointerException with OkHttp 3.13.1
  • Issue #126443924: transformClassesAndResourcesWithR8 failed java.lang.IllegalStateException
  • Issue #124593221: Error generating the app bundle when using coroutines 1.1.1
  • Issue #124155517: runtime NPE in Kotlin Coroutine Dispatcher
  • Issue #123390221: Lambda debugging tests started failing on the bots
  • Issue #123730537: Main application class can't be loaded (ClassNotFoundException), but exists in classes2.dex
  • Issue #124356534: Can't change Foreground layer Clip Art color in Image Asset studio
  • Issue #120898718: SVG with subpaths beginning with 'm' commands fails to convert properly
  • Issue #119372339: SVG containing clip paths and transforms does not preview or export to VectorDrawable correctly in Android Studio
  • Issue #126165767: DDMLIB process uses a full CPU core even when no device / emulator is connected
  • Issue #119924169: SVG-to-Vector converter breaks if element is declared inside of a element
  • Issue #119882812: Vector Import tool does not render the intended output.
  • Issue #112456379: Kotlin main classes appear on the class path before test classes when running unit tests
  • Issue #121341637: Internal lint error
  • Issue #123377555: Custom Lint check not showing up with AS + AGP 3.4.0-beta02
  • Issue #127213632: NewModuleTest.addNewModuleToAndroidxProject fails on studio-3.4-dev

New in Android Studio 3.3.2 (Mar 5, 2019)

  • This minor release improves stability and performance, and fixes various bugs, such as the following:
  • Android manifest contains incorrect values for platformBuildVersionCode and platformBuildVersionName
  • Indexer cannot find included header files
  • Android Studio JNI / C++ support broken
  • CMake integration is broken
  • Per-project Studio settings getting lost.
  • AndroidClassWithOnlyInnerClassesBase.: Incorrect package name: 1
  • Cannot open Andriod Studio: /Users/?/.android/analytics.settings
  • Custom view doesn't render correctly in Layout Preview if it's located in the same library module
  • Layout Editor Preview tab loads in empty state
  • Memory leak in RenderTask.myAssetRepository
  • Android Studio 3.3 RC 2: Can not resolve symbol in studio editor for resource created by build phase
  • R class navigation doesn't work with AS 3.3 and AGP 3.2
  • profiling-failed-in-android-studio-3-3 all apps crash with new AS 3.3 until you disable "adv. profiling"!
  • R class navigation doesn't work with AS 3.3 and AGP 3.1
  • In China, gradle sync will fail with "can not get time from google servers"
  • Can not break on if statements
  • Ctrl+F10 on Windows 10 Android Studio v3.3 opens window menu instead of executing Instant Run (Update Running Application)

New in Android Studio 3.5 Canary 6 (Feb 27, 2019)

  • This update includes fixes for the following public issues:
  • Issue #124471103: lint.jar does not show up in packaged AAR libraries when using lintPublish
  • Issue #124437190: Artifact collection during MergeResources task can take very long for sufficiently large dependency graphs.
  • Issue #111056281: AAPT2 does not disable versioning of ObjectAnimator resources referenced in animated vector drawables
  • Issue #119372339: SVG containing clip paths and transforms does not preview or export to VectorDrawable correctly in Android Studio
  • Issue #124232663: Read access exception when pasting string in property panel (from NlComponentBackendXml)
  • Issue #119924169: SVG-to-Vector converter breaks if element is declared inside of a element
  • Issue #119882812: Vector Import tool does not render the intended output.
  • Issue #37099520: the "Open File or Project" dialog takes 40 secs or so to display
  • Issue #121341637: Internal lint error
  • Issue #123377555: Custom Lint check not showing up with AS + AGP 3.4.0-beta02
  • Issue #124359884: New Module wizard does not allow creating module in sub folder
  • Issue #124164871: New Fragment Wizard Generates Unused Code
  • Issue #117207347: Studio default set up wizard downloads m2repository
  • Issue #124459240: Update url in code to point to feature plugin migration guide

New in Android Studio 3.5 Canary 5 (Feb 22, 2019)

  • This update includes fixes for the following public issues:
  • Issue #122554774: Error before lint: Resolving this BuildableArtifact can only done during task execution.
  • Issue #124227171: Android manifest contains incorrect values for platformBuildVersionCode and platformBuildVersionName
  • Issue #123558506: R8 won't compress APK's kotlin folder
  • Issue #120779854: Android Studio Freezes processing logcat
  • Issue #123409929: Cannot find symbol java.util.List
  • Issue #110463869: Preview tab
  • Issue #123776985: Navigation editor generates wrong reference for arguments that are public static inner classes
  • Issue #120609432: Support Serializable (incl enums) and arrays for arguments
  • Issue #122846702: R class navigation doesn't work with AS 3.3 and AGP 3.2
  • Issue #123985288: Some lint quickfixes that are not registered with autoFix=true are applied by the lintFix gradle task
  • Issue #124329575: [New PSD] Module type is not detected if android plugin is not the first one
  • Issue #124074412: Create API to return the result of "adb devices" from the command line
  • Issue #124070991: Make WindowsParser error handling more robust
  • Issue #123886074: Update the Connection Assistant to decorate devices based on whether ADB and ddmslib sees them
  • Issue #112324902: sdk manager patch merge conflict dialog contrast too low
  • Issue #123677458: Creating a new project should explicitly set project name in settings.gradle via rootProject.name = "..."
  • Issue #123311600: Manifest merger failed when deep linking in navigation graph

New in Android Studio 3.4 Beta 5 (Feb 22, 2019)

  • This update includes fixes for the following public issues:
  • Issue #123068209: Classloader leaks in AGP
  • Issue #124227171: Android manifest contains incorrect values for platformBuildVersionCode and platformBuildVersionName
  • Issue #123850906: com.android.tools.r8.errors.InvalidDebugInfoException: Attempt to define local of type float as $i$a$6$let
  • Issue #110463869: Preview tab
  • Issue #124232663: Read access exception when pasting string in property panel (from NlComponentBackendXml)
  • Issue #124232186: Property Panel: down key in popups moves focus on previous element
  • Issue #120609432: Support Serializable (incl enums) and arrays for arguments
  • Issue #122846702: R class navigation doesn't work with AS 3.3 and AGP 3.2
  • Issue #124329575: [New PSD] Module type is not detected if android plugin is not the first one

New in Android Studio 3.5 Canary 4 (Feb 15, 2019)

  • This update includes fixes for the following public issues:
  • Issue #123054726: sdkmanager --licenses isn't pulling latest licenses, despite CI build failure saying otherwise
  • Issue #117374693: Android Studio incorrectly warns that s inside of VectorDrawables are unsupported on API 23 and below
  • Issue #118149362: The "Setting" clipart icon creates unnecessary overhead by being drawn too elaborately
  • Issue #122866738: getProcessManifest wrong deprecation alternative in Javadoc
  • Issue #122881612: New R file generation on Studio 3.3 fails to execute
  • Issue #120625735: Gradle sync failed
  • Issue #118596839: C++ parsing errors - wrong paths in android_gradle_build.json
  • Issue #123616298: Space in project path causes cmake 3.10 build to fail
  • Issue #123071299: cmake integration is broken
  • Issue #68178350: Code Style Right margin settings bug
  • Issue #78097962: [bug] Per project Studio settings getting lost.
  • Issue #123178228: AndroidClassWithOnlyInnerClassesBase.: Incorrect package name: 1
  • Issue #120277395: AndroidX compilation failure: "cannot generate view binders: Stream closed"
  • Issue #123071296: Layout Bar ghost image, remains locked on screen. Cannot be removed until AS restart.
  • Issue #73826291: Memory leak in RenderTask.myAssetRepository
  • Issue #120750247: Android Studio 3.3 RC 2: Can not resolve symbol in studio editor for resource created by build phase
  • Issue #123032845: Resource ID can't be resolved in XML and JAVA under some circumstances (but a project is compilable)
  • Issue #123393225: AndroidGotoRelatedProvider no longer finds AAR resources
  • Issue #123089182: False positives for Implicit Sam Conversion check
  • Issue #80205221: Manifest element placed in displays incorrect lint warning
  • Issue #122944954: profiling-failed-in-android-studio-3-3 all apps crash with new AS 3.3 until you disable "adv. profiling"!
  • Issue #123523414: GradleTaskRunners leak whenever app is run
  • Issue #123377557: R class navigation doesn't work with AS 3.3 and AGP 3.1
  • Issue #122553598: Adding new module to an androidx project fails
  • Issue #122885760: In China, gradle sync will fail with "can not get time from google servers"
  • Issue #122955511: ADB Connection Assistant Exception on MacOS
  • Issue #123885701: Record UsbDevice serial numbers on linux
  • Issue #123886676: Record UsbDevice serial numbers on Mac
  • Issue #37104675: ddmlib sometimes loses clients after attach debugger followed by detach
  • Issue #123377224: Run/Debug Configuration dialog's Deployment Target Options drop-down combo box always resets to "Use the device/snapshot drop down" option
  • Issue #37092608: SDK Manager complains about "No space left on device"

New in Android Studio 3.4 Beta 4 (Feb 15, 2019)

  • This update includes fixes for the following public issues:
  • Issue #118149362: The "Setting" clipart icon creates unnecessary overhead by being drawn too elaborately
  • Issue #117374693: Android Studio incorrectly warns that s inside of VectorDrawables are unsupported on API 23 and below
  • Issue #110408030: CompatibleScreensManifest cache relocation problem
  • Issue #122950060: Aapt2 compile segfault on 16MB PNG.
  • Issue #120625735: Gradle sync failed
  • Issue #118596839: C++ parsing errors - wrong paths in android_gradle_build.json
  • Issue #123616298: Space in project path causes cmake 3.10 build to fail
  • Issue #123242448: Error: Program type already present: $r8$java8methods$utility$Integer$hashCode$II
  • Issue #123068484: Apk built with R8: java.lang.NoSuchFieldError
  • Issue #122940365: android.enableR8.libraries = false has no effect in Android Studio 3.4-beta1
  • Issue #123730538: Apk built with R8: java.lang.IllegalAccessError
  • Issue #122819537: Processing of Kotlin stdlib with -dontshrink hits a NamingLens assertion
  • Issue #123558506: R8 won't compress APK's kotlin folder
  • Issue #123575857: R8 incorrectly changes private readObject and writeObject to public final in classes implementing Serializable
  • Issue #122066794: Running androidTest from gradle and minifyEnabled shows 'NoClassDefFoundError' for Kotlin
  • Issue #78097962: [bug] Per project Studio settings getting lost.
  • Issue #123178228: AndroidClassWithOnlyInnerClassesBase.: Incorrect package name: 1
  • Issue #120687935: Custom view doesn't render correctly in Layout Preview if it's located in the same library module
  • Issue #123071296: Layout Bar ghost image, remains locked on screen. Cannot be removed until AS restart.
  • Issue #120409977: a suggestion for the design view
  • Issue #73826291: Memory leak in RenderTask.myAssetRepository
  • Issue #120750247: Android Studio 3.3 RC 2: Can not resolve symbol in studio editor for resource created by build phase
  • Issue #123393225: AndroidGotoRelatedProvider no longer finds AAR resources
  • Issue #123032845: Resource ID can't be resolved in XML and JAVA under some circumstances (but a project is compilable)
  • Issue #122944954: profiling-failed-in-android-studio-3-3 all apps crash with new AS 3.3 until you disable "adv. profiling"!
  • Issue #123377557: R class navigation doesn't work with AS 3.3 and AGP 3.1
  • Issue #123523414: GradleTaskRunners leak whenever app is run
  • Issue #122874775: Scanning files to index, out of memory.
  • Issue #122885760: In China, gradle sync will fail with "can not get time from google servers"
  • Issue #37104675: ddmlib sometimes loses clients after attach debugger followed by detach
  • Issue #37092608: SDK Manager complains about "No space left on device"

New in Android Studio 3.3.1 (Feb 8, 2019)

  • This minor release improves stability and performance, and fixes various bugs, such as the following:
  • Issue#122796456: Android Studio 3.3 not generates signed APK/Bundle
  • Issue#122301106: Memory leak in ProcessProfileWriterFactory
  • Issue#119306837: ConcurrentModificationException in AGP during Lint
  • Issue#122955919:ResolvedArtifact keep references to ComponentArtifactIdentifier
  • Issue#123310328: Kotlin sdtlib kotlin_modules files are inside builder
  • Issue#118596839: C++ parsing errors - wrong paths in android_gradle_build.json
  • Issue#122887884: VerifyError: register v2 has type Conflict but expected Integer
  • Issue#122937067: transformClassesAndResourcesWithR8ForDebugAndroidTest fails when firebase-iid is a dependency
  • Issue#116361869: AS Error: Progress subrange out of bounds
  • Issue#121340427: AS is slow, I can see the lines as they go from being uncolored and then highlighted
  • Issue#122883564: How to remove the smiley buttons on Android Studio 3.3
  • Issue#122133551: Image preview is blank for png file
  • Issue#122883561: AndroidStudio 3.3 does not see classes generated into build/generated/source/kaptKotlin
  • Issue#122141871: Signing Password are now saved in files protected by user only access rights.
  • Issue#122874775: Scanning files to index, out of memory.
  • Issue#122553653: Change Propagation using BaseObservable not working after setLifecycleOwner

New in Android Studio 3.5 Canary 3 (Feb 1, 2019)

  • This update includes fixes for the following public issues:
  • Issue #122950060: Aapt2 compile segfault on 16MB PNG
  • Issue #122856772: Application Build Error with no helpful debug info
  • Issue #113122600: Off by one error in file line and col display?
  • Issue #122965665: AS 3.5a1: Too many files open
  • Issue #122866741: Typo in IDE
  • Issue #122883564: How to remove the smiley buttons on Android Studio 3.3
  • Issue #122881600: Layout preview zoom buttons broken in 3.3
  • Issue #120409977: A suggestion for the design view
  • Issue #122883561: Android Studio 3.3 does not see classes generated into build/generated/source/kaptKotlin

New in Android Studio 3.5 Canary 2 (Jan 25, 2019)

  • General fixesThis update includes fixes for the following public issues:
  • Issue #122718199: CharSequences#startsWith throws StringIndexOutOfBoundsException
  • Issue #122301106: Memory leak in ProcessProfileWriterFactory
  • Issue #116700688: AAPT2 Strips Leading Zeros from Strings in XML FilesIssue #117889706: Stop depending on ValidateSigningTask manually
  • Issue #111411525: Data binding errors aren't displayed in build pane
  • Issue #68902782: Resource Ids are not updating during a Rename refactoringIssue #118469827: CPU Recording: Unable to parse capture: java.lang.NullPointerException
  • Issue #116536168: TextWatcher Not Always Generated for Binding Expressions Referencing EditText Widgets
  • Issue #122553653: Change Propagation using BaseObservable not working after setLifecycleOwner
  • Issue #122066788: NullpointerException in android.databinding.ViewDataBinding
  • Issue #119960651: Databinding does not work with a Kotlin ViewModel and an interface with type parameter
  • Issue #116821433: Databinding and generics, incompatible types error
  • Issue #62685775: Data Binding build error is vague
  • Issue #120853927: Windows: seems like aapt2 still has issues with path > 260 characters.

New in Android Studio 3.5 Canary 1 (Jan 16, 2019)

  • Apply Changes:
  • Canary 1 of Android Studio 3.5 introduces a preview of Apply Changes, which replaces Instant Run. We know that Instant Run has in the past caused issues for many of you, and the feature hasn’t lived up to our quality standards. Instant Run rewrote the bytecode of your APK at build time to inject hooks to replace classes on the fly. For simple apps, this was largely fine, but for more complex apps, this could result in longer build times or head-scratching errors caused by conflicts between your app and Instant Run’s build process.
  • We’ve taken a step back and decided to rewrite it from the ground up. As a result, Apply Changes no longer modifies your APK during builds. Instead, we rely on runtime instrumentation that is supported in the Android platform in 8.0 and newer devices to redefine classes on the fly.
  • We’ve also reacted to feedback around the unpredictability and inconsistency in behavior of the Instant Run button that would automatically decide whether or not to restart your app or activity if necessary; we now explicitly prompt you if we detect that your change is not compatible with Apply Changes.
  • General fixes:
  • This update also includes fixes for the following public issues:
  • Issue#121017797: Cannot build project with Gradle plugin from included build
  • Issue#116846624: Constraint Layout bug in the Layout Editor
  • Issue#111950741: Wrong preview in layout editor
  • Issue#63962416: Android Lint incorrectly reports missing location permission
  • Issue#119753493: False positive for WrongConstant after AndroidX Migration
  • Issue#118605194: Studio connection to adb server fails on Android Studio 3.2.1

New in Android Studio 3.3 (Jan 15, 2019)

  • ntelliJ IDEA 2018.2.2:
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2018.2.2 release.
  • Android Gradle plugin updates:
  • For information on what’s new in the Android Gradle plugin, see its release notes.
  • Navigation Editor:
  • The Navigation Editor lets you quickly visualize and build navigation into your app by using the Navigation Architecture Component.
  • Delete unused Android Studio directories:
  • When you run a major version of Android Studio for the first time, it looks for directories containing caches, settings, indices, and logs for versions of Android Studio for which a corresponding installation can’t be found. The Delete Unused Android Studio Directories dialog then displays locations, sizes, and last-modified times of these unused directories and provides an option to delete them.
  • Lint improvements:
  • Lint, when invoked from Gradle, is significantly faster—larger projects can expect lint to run up to four times faster.
  • Create New Project wizard:
  • The Create New Project wizard has a new look and contains updates that help streamline the creation of new Android Studio projects.
  • Profiler updates:
  • Android Studio 3.3 includes updates to several of the individual profilers.
  • Improved performance:
  • Based on user feedback, rendering performance while using the profilers has been greatly improved. Please continue to provide feedback, especially if you continue to see performance issues.
  • Profiler memory allocation tracking options:
  • To improve app performance while profiling, the Memory Profiler now samples memory allocations periodically by default. If desired, you can change this behavior by using the Allocation Tracking dropdown when testing on devices running Android 8.0 (API level 26) or higher.
  • Using the Allocation Tracking dropdown, you can choose from the following modes:
  • Full: captures all object memory allocations. Note that if you have an app that allocates a lot of objects, you might see significant performance issues while profiling.
  • Sampled: captures a periodic sample of object memory allocations. This is the default behavior and has less impact on app performance while profiling. You might encounter some performance issues with apps that allocate a lot of objects within a short time period.
  • Off: turns memory allocation off. If not already selected, this mode is enabled automatically while taking a CPU recording and then returned to the previous setting when the recording is finished. You can change this behavior in the CPU recording configuration dialog.
  • The tracking affects both Java objects and JNI references.
  • Inspect frame rendering data:
  • In the CPU Profiler, you can now inspect how long it takes your Java app to render each frame on the main UI thread and RenderThread. This data might be useful when investigating bottlenecks that cause UI jank and low framerates. For example, each frame that takes longer than the 16ms required to maintain a smooth framerate is displayed in red.
  • To see frame rendering data, record a trace using a configuration that allows you to Trace System Calls. After recording the trace, look for info about each frame along the timeline for the recording under the section called FRAMES.
  • Fragments in the event timeline:
  • The event timeline now shows when fragments are attached and detached. Additionally, when you hover over a fragment, a tooltip shows you the fragment status.
  • View formatted text for connection payloads in the Network profiler:
  • Previously, the Network profiler displayed only raw text from connection payloads. Android Studio 3.3 now formats certain text types by default, including JSON, XML, and HTML. In the Response and Request tabs, click the View Parsed link to display formatted text, and click the View Source link to display raw text.
  • Automatic downloading of SDK components:
  • When your project needs an SDK component from the SDK platforms, NDK, or CMake, Gradle now attempts to automatically download the required packages as long as you’ve previously accepted any related license agreements using the SDK Manager.
  • Support for Clang-Tidy:
  • Android Studio now includes support for static code analysis using Clang-Tidy for projects that include native code. To enable support for Clang-Tidy, update your NDK to r18 or higher.
  • You can then enable or re-enable the inspections by opening the Settings or Preferences dialog and navigating to Editor > Inspections > C/C++ > General > Clang-Tidy. When selecting this inspection in the Settings or Preferences dialog, you can also see the list of Clang-Tidy checks that are enabled and disabled under the Option section of the right-most panel. To enable additional checks, add them to the list and click Apply.
  • To configure Clang-Tidy with additional options, click Configure Clang-Tidy Checks Options and add them in the dialog that opens.
  • Removal of options for C++ customization:
  • The following options have been removed from the Customize C++ Support dialog:
  • Exceptions Support (-fexceptions)
  • Runtime Type Information Support (-ftti)
  • The respective behaviors are enabled for all projects created through Android Studio.
  • CMake version 3.10.2:
  • CMake version 3.10.2 is now included with SDK Manager. Note that Gradle still uses version 3.6.0 by default.
  • New “+” syntax to specify minimum CMake versions:
  • When specifying a version of CMake in your main module’s build.gradle file, you can now append a “+” to match the behavior of CMake’s cmake_minimum_required() command.
  • Android App Bundles now support Instant Apps:
  • Android Studio now lets you build Android App Bundles with full support for Google Play Instant. In other words, you can now build and deploy both installed app and instant experiences from a single Android Studio project and include them in a single Android App Bundle.
  • If you’re creating a new Android Studio project using the Create New Project dialog, make sure you check the box next to Configure your project > This project will support instant apps. Android Studio then creates a new app project as it normally would, but includes the following properties in your manifest to add Instant app support to your app’s base module
  • You can then create an instant-enabled dynamic feature module by selecting File > New > New Module from the menu bar and then selecting Instant Dynamic Feature Module from the Create New Module dialog. Keep in mind, creating this module also instant-enables your app’s base module.
  • To deploy your app to a local device as an instant experience, edit your run configuration and check the box next to General > Deploy as instant app.
  • Single-variant project sync:
  • Syncing your project with your build configuration is an important step in letting Android Studio understand how your project is structured. However, this process can be time-consuming for large projects. If your project uses multiple build variants, you can now optimize project syncs by limiting them to only the variant you have currently selected.
  • You need to use Android Studio 3.3 or higher with Android Gradle plugin 3.3.0 or higher to enable this optimization. When you meet these requirements, the IDE prompts you to enable this optimization when you sync your project. The optimization is also enabled by default on new projects.
  • To enable this optimization manually, click File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle on a Mac) and select the Only sync the active variant checkbox.
  • Provide quick feedback:
  • If you've opted into sharing usage statistics to help improve Android Studio, you'll see two new icons in the status bar at the bottom of the IDE window.
  • Simply click the icon that best represents your current experience with the IDE. When you do so, the IDE sends usage statistics that allow the Android Studio team to better understand your sentiment. In some cases, such as when you indicate a negative experience with the IDE, you'll have an opportunity to provide additional feedback.
  • If you haven't already done so, you can enable sharing usage statistics by opening the Settings dialog (Preferences on a Mac), navigating to Appearance & Behavior > System Settings > Data Sharing, and checking Send usage statistics to Google.

New in Android Studio 3.4 Canary 10 (Jan 4, 2019)

  • This update includes fixes for several bugs, including the following:
  • Issue#118776504: Avoid manifest merger cache misses
  • Issue#116361869: AS Error: Progress subrange out of bounds
  • Issue#80130688: Search Everywhere for strings opens the R.java file instead of opening the string.xml
  • Issue#112715908: Please put back "Build" button to the TouchBar like it is in IntelliJ Idea, or give users ability to customize it.
  • Issue#37150511: Data binding variable tag auto-complete does not include closing tag
  • Issue#120797515: R classes are not resolved in newly created projects (again)
  • Issue#118605194: Studio connection to adb server fails on Android Studio 3.2.1

New in Android Studio 3.3 RC 3 (Dec 21, 2018)

  • Linter performance improvement:
  • This release includes a fix for a Lint performance regression introduced in Android Studio 3.1. With this fix, the Lint performance has improved as much as 4X compared to Android 3.3 RC2.
  • Go to definition:
  • Fix for "go to definition" for layouts, drawables and other file resources coming from AARs.
  • This update includes fixes for several bugs, including the following:
  • Issue#120196378: Java 8 language support, as requested by android.enableR8.desugaring=true in your gradle.properties file, is not supported when android.enableR8=false.
  • Issue#120168590: When enabling R8 full mode, it removes a field that is being used.
  • Lint task takes longer with AGP 3.1.0-alpha07

New in Android Studio 3.4 Canary 9 (Dec 21, 2018)

  • This update includes the following improvements:
  • An editor intention action was added, so that you can use well-known classes like RecyclerView or WorkManager in the editor and, if unknown, it automatically suggests the right Gradle artifact to import from http://maven.google.com.
  • This update includes fixes for several bugs, including the following:
  • Issue#120555992: Use settings to temporarily disable tips of the day
  • Issue#120171528: 3.4 Canary 5 -> Installation failed - Rerun
  • Issue#120039148: Can't delete profile session
  • Issue#119385915: Profiler cannot be launched when debugging AOSP in 3.2

New in Android Studio 3.4 Canary 8 (Dec 13, 2018)

  • New Resource Manager:
  • Resource management is a new tool window for creating, managing, and using resources in your app. This tool window allows you to do the following:
  • Bulk import: You can now import multiple drawable assets at once by either dragging and dropping them into your Resources tool window or the Resource management import wizard. The wizard can also convert your SVG files into VectorDrawables.
  • Drag and drop assets: From the Resource management tool window you can drag and drop drawables onto the Layout Editor design and text view surfaces.
  • View alternative versions: You can now view alternative versions of your resources by double-clicking a resource within the Tool window. This view shows the different versions you have created and the qualifiers that were included.
  • Tile and list views: You can change the view within the tool window to help visualize your resources.
  • This update includes fixes for several bugs, including the following:
  • Issue#120555992: Stop disabling tips of the day
  • Issue#120460980: Update AGP to Gradle 5.1-milestone-1
  • Issue#117646654: Stop injecting SDK m2repositories
  • Issue#116673790: Getting Execution failed for task processDebugResources'. > java.nio.charset.MalformedInputException: Input length = 1
  • Issue#119210741: Lint offers auto fix to incompatible Android Gradle Plugin versions.
  • Issue#119994299: Android Studio / Image Assets Wizard / Launcher Icons / Legacy / Tool tip
  • Issue#119563792: Incorrect warnings in Android Studio Room SQL with FTS
  • Issue#118538324: Custom layout with Dialog Preference from android x layout issue in Android studio
  • Issue#120087311: Enforce RestrictTo(LIBRARY) when the API is defined in another project
  • Issue#120162341: Lint detection of Configuration.densityDpi field is strange when minSdk < 17
  • Issue#67816403: Option to disable System Image patcher
  • Issue#119661177: The ViewDataBinding.OnStartListener lifecycle observer leaks the view hierarchy after Fragment.onDestroyView
  • Issue#120255763: Deterministic Builds Break when using databinding

New in Android Studio 3.3 RC 2 (Dec 7, 2018)

  • This update includes fixes for several bugs, including the following:
  • Issue#116747159: Task generateDebugR2 fails on 3.3a12 when generating separate R classes
  • Issue#119662037: -printmapping fails with FileNotFoundException
  • Issue#116404240: False positive on UnusedAttribute foreground on FrameLayout
  • Issue#116677290: Lint failure when ignoring some issue ids

New in Android Studio 3.4 Canary 7 (Dec 7, 2018)

  • This update includes the following change:
  • R8 now supports Android library projects.
  • This update includes fixes for several bugs, including the following:
  • Issue#116747159: Task generateDebugR2 fails on 3.3a12 when generating separate R classes.
  • Issue#119536413: Convert FixStackFramesTransform to a task.
  • Issue#112158840: Templates use deprecated classes if theme isn't appcompat.
  • Issue#116541301: Databinding v2 produces errors when another annotation processor fails.

New in Android Studio 3.4 Canary 6 (Dec 2, 2018)

  • This update includes the following new features and changes in behavior:
  • R8 now supports Android library projects.
  • The minimum version for Butterknife is now 9.0.0-rc2.
  • This update includes fixes for several bugs, including the following:
  • Gradle was passing the databinding JAR two or more time to R8, causing APK builds to fail with a TransformException.
  • The classpath was computed in a way that included library artifacts more than once.
  • The Kotlin plugin was throwing databinding exceptions.
  • The layout editor would not zoom in if the device size was 10% or smaller.
  • Lint would generate StaticFieldLeak warnings even when using the application context.

New in Android Studio 3.3 RC 1 (Nov 29, 2018)

  • This update includes the following change:
  • The minimum supported version of the Butter Knife Gradle plugin is now com.jakewharton:butterknife-gradle-plugin:9.0.0-rc2.

New in Android Studio 3.4 Canary 5 (Nov 29, 2018)

  • This update includes the following new features and changes in behavior:
  • lintFix will no longer abort if errors are found.
  • This update includes fixes for several bugs, including the following:
  • Class instrumentation before method inlining caused issues with Jacoco Gradle plugin.
  • ANDROID_SDK_ROOT was not being used correctly.
  • C++ code completion didn't work with external CMake.
  • Running Lint from the command line was returning false negatives in some cases.

New in Android Studio 3.4 Canary 4 (Nov 16, 2018)

  • This update includes the following new features and changes in behavior:
  • If using experimental DSL block postprocessing options, tree shaking is enabled by default.
  • In your DSL, using android.getBootClasspath() will now return the correct bootclasspath in cases when Java 8 language features are used.
  • This update includes fixes for several bugs, including the following:
  • Guava-inspection was not reporting certain errors related to minSdkVersion.
  • Layout preview pane would be blank when an XML layout file contained a custom view that threw an error.

New in Android Studio 3.3 Beta 4 (Nov 15, 2018)

  • This update includes the following bug fixes:
  • Builds created using Bazel Build would throw "Build Event Protocol update failed" errors.
  • Jetifier caused AAB builds to fail and forced Dagger 2.16 to be used, even when 2.17 was declared as a dependency.
  • Composite builds would fail on the Windows platform.
  • Timber would cause Lint checks to occur on projects where Lint checks weren't defined.
  • Project compilation would sometimes fail because of an error accessing manifest fields using reflection.
  • J-style lambdas would create self-recursion, leading to null-pointer exceptions and stack overflows.

New in Android Studio 3.4 Canary 3 (Nov 8, 2018)

  • This update includes the following new features and changes in behavior:
  • Lint now informs you when a non-public Java method is annotated with @JavascriptInterface.
  • This update includes fixes for several bugs, including the following:
  • ExtractAnnotations in Gradle would cause an error when sources were missing.
  • JacocoTask didn't consume runtime R-classes, and removed them instead, causing crashes.
  • Building databinding in AOSP depended on the hardcoded paths of prebuilts SDK.
  • Running lintDebug would throw NullPointerExceptions.
  • Lint would incorrectly state that MediaMetadataCompat.Builder does not support custom keys.
  • Processes couldn't be selected in Profiler when there were too many to display on the screen at once.
  • IDE classpaths were not handled correctly for api.jar in libraries.

New in Android Studio 3.4 Canary 2 (Oct 25, 2018)

  • This update includes the following new features and changes in behavior:
  • The addition of the File > Re-Import Gradle Project command.
  • This update includes fixes for several bugs, including the following:
  • Manifest Merger did not support including '+', '-', and '.' in schemes.
  • The Event Log window was not consistently representing the status of the Scroll to the end button.
  • Android Support plugin was causing Android Studio to crash.
  • Gradle could not find the symbol for data binding.

New in Android Studio 3.4 Canary 1 (Oct 21, 2018)

  • This update includes the following new features and changes in behavior:
  • The Multiline Text widget is now assigned a default gravity of top | start.
  • This update includes fixes for several bugs, including the following:
  • The Project window was occasionally crashing when sorting files by type.
  • CMake was throwing a NullPointerException when enabling Only sync the active variant (for current project) experimental feature.
  • Connection Assistant was showing duplicate USB devices.
  • Attempting to remove a project module was causing Android Studio to crash without removing the module.
  • Select Deployment Target dialog wasn't displaying USB devices before finishing a scan for virtual devices.

New in Android Studio 3.2.1 (Oct 12, 2018)

  • The bundled Kotlin version is now 1.2.71.
  • The default build tools version is now 28.0.3.
  • In the Navigation library, argument types have been renamed from type to argType.
  • The following bugs have been fixed:
  • When using the Data Binding library, variable names with underscores were causing compilation errors.
  • CMake was causing IntelliSense and other CLion features to fail.
  • Adding a SliceProvider was causing compilation errors in projects that did not use androidx.* libraries.
  • Some Kotlin unit tests were not being run.
  • An issue with data binding was causing a PsiInvalidElementAccessException.
  • elements were sometimes causing the Layout Editor to crash.

New in Android Studio 3.3 Canary 13 (Oct 3, 2018)

  • This update includes the following new features and changes in behavior:
  • You can now enable full mode in R8, which provides more aggressive code shrinking than the current default behavior. To enable full mode, add the following to gradle.properties:
  • android.enableR8.fullMode=true
  • META-INF/proguard/* paths are now excluded from APKs/AABs.
  • The Android Gradle plugin now uses SDK Build Tools version 28.0.3 by default.
  • Better debug info for obsolete API: When the Android Gradle plugin warns you that you're using API that's no longer supported, it can now provide more detailed information to help you determine where that API is being used. To see the additional info, you need to include the following in your project's gradle.properties file:
  • android.debug.obsoleteApi=true
  • You can also enable the flag by passing -Pandroid.debug.obsoleteApi=true from the command line.
  • This update includes fixes for several bugs, including the following:
  • Android Gradle plugin can once again run an androidMockableJar task.
  • PrepareLintJar.getLintChecks() is now properly tagged with @Classpath
  • Android Studio wasn't properly displaying previews for adaptive icons.
  • Translation Editor was displaying columns incorrectly.

New in Android Studio 3.3 Canary 12 (Sep 27, 2018)

  • CMake version 3.10.2: CMake version 3.10.2 is now included with SDK Manager. Note that Gradle still uses version 3.6.0 by default. To specify a CMake version for Gradle to use, add the following to your main module’s build.gradle file
  • New “+” syntax to specify minimum CMake versions: When specifying a version of CMake in your main module’s build.gradle file, you can now append a “+” to mimic the behavior of CMake’s cmake_minimum_required() command.
  • Delete Unused Directories Dialog: When a new major version of Android Studio is run for the first time, it looks for directories containing caches, settings, indices, and logs that are associated with old versions of Android Studio for which a corresponding installation can’t be found. When found, a dialog displays their locations, sizes, and last-modified times and provides the option to delete them.
  • This update includes fixes for several bugs, including the following:
  • Some deprecated kotlin-stdlib-jre* artifacts were still being used when creating new projects.
  • AAPT2 was crashing when project folders were on a different drive than the build folder.

New in Android Studio 3.2 (Sep 25, 2018)

  • What's New Assistant:
  • A new assistant informs you about the latest changes in Android Studio.
  • The assistant opens when you start Android Studio after a fresh installation or update if it detects that there is new information to show. You can also open the assistant by choosing Help > What's new in Android Studio.
  • Android Jetpack:
  • Android Jetpack helps to accelerate Android development with components, tools, and guidance that eliminate repetitive tasks and enable you to more quickly and easily build high-quality, testable apps. Android Studio includes the following updates to support Jetpack. For more information, see the Jetpack documentation.
  • Navigation Editor:
  • The new Navigation Editor integrates with the navigation components of Android Jetpack to provide a graphical view for creating the navigation structure of your app. The Navigation Editor simplifies the design and implementation of navigation between in-app destinations.
  • In Android Studio 3.2, the Navigation Editor is an experimental feature. To enable the Navigation Editor, click File > Settings (Android Studio > Preferences on Mac), select the Experimental category in the left pane, check the box next to Enable Navigation Editor, and restart Android Studio.
  • AndroidX migration:
  • As part of Jetpack, we are migrating the Android Support Libraries to a new Android extension library using the androidx namespace. For more information, see the AndroidX overview.
  • Android Studio 3.2 helps you through this process with a new migration feature.
  • To migrate an existing project to AndroidX, choose Refactor > Migrate to AndroidX. If you have any Maven dependencies that have not migrated to the AndroidX namespace, the Android Studio build system also automatically converts those project dependencies.
  • Android App Bundle:
  • Android App Bundle is a new upload format that includes all of your app’s compiled code and resources, but defers APK generation and signing to the Google Play Store.
  • Google Play’s new app serving model, called Dynamic Delivery, then uses your app bundle to generate and serve optimized APKs for each user’s device configuration, so each user downloads only the code and resources they need to run your app. You no longer need to build, sign, and manage multiple APKs, and users get smaller, more optimized downloads.
  • Additionally, you can add dynamic feature modules to your app project and include them in your app bundle. Through Dynamic Delivery, your users can then download and install your app’s dynamic features on demand.
  • To build a bundle, choose Build > Build Bundle(s) / APK(s) > Build Bundle(s).
  • Sample data in Layout Editor:
  • Many Android layouts have runtime data that can make it difficult to visualize the look and feel of a layout during the design stage of app development. You can now easily see a preview of your view in the Layout Editor filled with sample data. When you add a view, a button appears below the view in the Design window. Click this button to set the design-time view attributes. You can choose from a variety of sample data templates and specify the number of sample items with which to populate the view.
  • To try using sample data, add a RecyclerView to a new layout, click the design-time attributes button below the view, and choose a selection from the carousel of sample data templates.
  • Slices:
  • Slices provide a new way to embed portions of your app's functionality in other user interface surfaces on Android. For example, Slices make it possible to show app functionality and content in Google Search suggestions.
  • Android Studio 3.2 has a built-in template to help you to extend your app with the new Slice Provider APIs, as well as new lint checks to ensure that you're following best practices when constructing the Slices.
  • To get started right-click a project folder and choose New > Other > Slice Provider.
  • Kotlin 1.2.61:
  • Android Studio 3.2 bundles Kotlin 1.2.61, and the new Android SDK integrates better with Kotlin.
  • IntelliJ IDEA 2018.1.6:
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2018.1.6 release.
  • Android profilers:
  • Sessions:
  • You can now save Profiler data as sessions to revisit and inspect later. The profiler keeps your session data until you restart the IDE.
  • When you record a method trace or capture a heap dump, the IDE adds that data (along with your app's network activity) as a separate entry to the current session, and you can easily switch back and forth between recordings to compare data.
  • System Trace:
  • In the CPU Profiler, select the new System Trace configuration to inspect your device's system CPU and thread activity. This trace configuration is built on systrace and is useful for investigating system-level issues, such as UI jank.
  • While using this trace configuration, you can visually mark important code routines in the profiler timeline by instrumenting your C/C++ code with the native tracing API or your Java code with the Trace class.
  • Inspect JNI references in the Memory Profiler:
  • If you deploy your app to a device running Android 8.0 (API level 26) or higher, you can now inspect memory allocations for your app’s JNI code using the Memory Profiler.
  • While your app is running, select a portion of the timeline that you want to inspect and select JNI heap from the drop-down menu above the class list, as shown below. You can then inspect objects in the heap as you normally would and double-click objects in the Allocation Call Stack tab to see where the JNI references are allocated and released in your code.
  • Import, export, and inspect memory heap dump files:
  • You can now import, export, and inspect .hprof memory heap dump files created with the Memory Profiler.
  • Import your .hprof file by clicking Start new profiler session in the profiler’s Sessions pane and then selecting Load from file. You can then inspect its data in the Memory Profiler as you would any other heap dump.
  • To save heap dump data to review later, use the Export Heap Dump button at the right of the Heap Dump entry in the Sessions pane. In the Export As dialog that appears, save the file with the .hprof filename extension.
  • Record CPU activity during app startup:
  • You can now record CPU activity during your app's startup, as follows:
  • Select Run > Edit Configurations from the main menu.
  • Under the Profiling tab of your desired run configuration, check the box next to Start recording a method trace on startup.
  • Select a CPU recording configuration to use from the dropdown menu.
  • Deploy your app to a device running Android 8.0 (API level 26) or higher by selecting Run > Profile.
  • Android Studio release notes
  • 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 updates (on Mac, Android Studio > Check for updates).
  • You can also download Android Studio here.
  • If you encounter problems in Android Studio, check the Known issues or Troubleshoot page.
  • For the latest news on releases, including a list of notable fixes in each preview release, see the release updates.
  • For information on what’s new in the Android Plugin for Gradle, see its release notes.
  • 3.2 (September 2018)
  • Android Studio 3.2 is a major release that includes a variety of new features and improvements.
  • 3.2.0 known issues
  • We strongly recommend against updating to Kotlin 1.2.70.
  • Android Studio includes a version of Kotlin 1.2.61 that fixes a bug that can cause Android Studio to hang. Kotlin 1.2.71 and later will also include this fix. Kotlin 1.2.70 does not include this fix.
  • Although you typically don't need to specify the build tools version, when using Android Gradle plugin 3.2.0 with renderscriptSupportModeEnabled set to true, you need to include the following in each module's build.gradle file:
  • android.buildToolsVersion "28.0.3"
  • What's New Assistant
  • A new assistant informs you about the latest changes in Android Studio.
  • The assistant opens when you start Android Studio after a fresh installation or update if it detects that there is new information to show. You can also open the assistant by choosing Help > What's new in Android Studio.
  • Android Jetpack
  • Android Jetpack helps to accelerate Android development with components, tools, and guidance that eliminate repetitive tasks and enable you to more quickly and easily build high-quality, testable apps. Android Studio includes the following updates to support Jetpack. For more information, see the Jetpack documentation.
  • Navigation Editor
  • The new Navigation Editor integrates with the navigation components of Android Jetpack to provide a graphical view for creating the navigation structure of your app. The Navigation Editor simplifies the design and implementation of navigation between in-app destinations.
  • In Android Studio 3.2, the Navigation Editor is an experimental feature. To enable the Navigation Editor, click File > Settings (Android Studio > Preferences on Mac), select the Experimental category in the left pane, check the box next to Enable Navigation Editor, and restart Android Studio.
  • To learn more, read the Navigation Editor documentation.
  • AndroidX migration
  • As part of Jetpack, we are migrating the Android Support Libraries to a new Android extension library using the androidx namespace. For more information, see the AndroidX overview.
  • Android Studio 3.2 helps you through this process with a new migration feature.
  • To migrate an existing project to AndroidX, choose Refactor > Migrate to AndroidX. If you have any Maven dependencies that have not migrated to the AndroidX namespace, the Android Studio build system also automatically converts those project dependencies.
  • The Android Gradle plugin provides the following global flags that you can set in your gradle.properties file:
  • android.useAndroidX: When set to true, this flag indicates that you want to start using AndroidX from now on. If the flag is absent, Android Studio behaves as if the flag were set to false.
  • android.enableJetifier: When set to true, this flag indicates that you want to have tool support (from the Android Gradle plugin) to automatically convert existing third-party libraries as if they were written for AndroidX. If the flag is absent, Android Studio behaves as if the flag were set to false.
  • Both flags are set to true when you use the Migrate to AndroidX command.
  • If you want to start using AndroidX libraries immediately and don't need to convert existing third-party libraries, you can set the android.useAndroidX flag to true and the android.enableJetifier flag to false.
  • Android App Bundle
  • Android App Bundle is a new upload format that includes all of your app’s compiled code and resources, but defers APK generation and signing to the Google Play Store.
  • Google Play’s new app serving model, called Dynamic Delivery, then uses your app bundle to generate and serve optimized APKs for each user’s device configuration, so each user downloads only the code and resources they need to run your app. You no longer need to build, sign, and manage multiple APKs, and users get smaller, more optimized downloads.
  • Additionally, you can add dynamic feature modules to your app project and include them in your app bundle. Through Dynamic Delivery, your users can then download and install your app’s dynamic features on demand.
  • To build a bundle, choose Build > Build Bundle(s) / APK(s) > Build Bundle(s).
  • For more information, including instructions for building and analyzing an Android App Bundle, see Android App Bundle.
  • Sample data in Layout Editor
  • Many Android layouts have runtime data that can make it difficult to visualize the look and feel of a layout during the design stage of app development. You can now easily see a preview of your view in the Layout Editor filled with sample data. When you add a view, a button appears below the view in the Design window. Click this button to set the design-time view attributes. You can choose from a variety of sample data templates and specify the number of sample items with which to populate the view.
  • To try using sample data, add a RecyclerView to a new layout, click the design-time attributes button below the view, and choose a selection from the carousel of sample data templates.
  • Slices
  • Slices provide a new way to embed portions of your app's functionality in other user interface surfaces on Android. For example, Slices make it possible to show app functionality and content in Google Search suggestions.
  • Android Studio 3.2 has a built-in template to help you to extend your app with the new Slice Provider APIs, as well as new lint checks to ensure that you're following best practices when constructing the Slices.
  • To get started right-click a project folder and choose New > Other > Slice Provider.
  • To learn more, including how to test your Slice interactions, read the Slices getting started guide.
  • Kotlin 1.2.61
  • Android Studio 3.2 bundles Kotlin 1.2.61, and the new Android SDK integrates better with Kotlin. For more information, see the Android Developers blog.
  • IntelliJ IDEA 2018.1.6
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2018.1.6 release.
  • Android profilers
  • Try the following new Android Profiler features in Android Studio 3.2.
  • Sessions
  • You can now save Profiler data as sessions to revisit and inspect later. The profiler keeps your session data until you restart the IDE.
  • When you record a method trace or capture a heap dump, the IDE adds that data (along with your app's network activity) as a separate entry to the current session, and you can easily switch back and forth between recordings to compare data.
  • System Trace
  • In the CPU Profiler, select the new System Trace configuration to inspect your device's system CPU and thread activity. This trace configuration is built on systrace and is useful for investigating system-level issues, such as UI jank.
  • While using this trace configuration, you can visually mark important code routines in the profiler timeline by instrumenting your C/C++ code with the native tracing API or your Java code with the Trace class.
  • Inspect JNI references in the Memory Profiler
  • If you deploy your app to a device running Android 8.0 (API level 26) or higher, you can now inspect memory allocations for your app’s JNI code using the Memory Profiler.
  • While your app is running, select a portion of the timeline that you want to inspect and select JNI heap from the drop-down menu above the class list, as shown below. You can then inspect objects in the heap as you normally would and double-click objects in the Allocation Call Stack tab to see where the JNI references are allocated and released in your code.
  • Import, export, and inspect memory heap dump files
  • You can now import, export, and inspect .hprof memory heap dump files created with the Memory Profiler.
  • Import your .hprof file by clicking Start new profiler session in the profiler’s Sessions pane and then selecting Load from file. You can then inspect its data in the Memory Profiler as you would any other heap dump.
  • To save heap dump data to review later, use the Export Heap Dump button at the right of the Heap Dump entry in the Sessions pane. In the Export As dialog that appears, save the file with the .hprof filename extension.
  • Record CPU activity during app startup
  • You can now record CPU activity during your app's startup, as follows:
  • Select Run > Edit Configurations from the main menu.
  • Under the Profiling tab of your desired run configuration, check the box next to Start recording a method trace on startup.
  • Select a CPU recording configuration to use from the dropdown menu.
  • Deploy your app to a device running Android 8.0 (API level 26) or higher by selecting Run > Profile.
  • Export CPU traces:
  • After you record CPU activity with the CPU Profiler, you can export the data as a .trace file to share with others or inspect later.
  • To export a trace after you’ve recorded CPU activity, do the following:
  • Right-click on the recording you want to export from the CPU timeline.
  • Select Export trace from the dropdown menu.
  • Navigate to where you want to save the file and click Save.
  • Import and inspect CPU trace files:
  • You can now import and inspect .trace files created with the Debug API or CPU Profiler. (Currently, you can't import System Trace recordings.)
  • Import your trace file by clicking Start new profiler session in the profiler’s Sessions pane and then selecting Load from file. You can then inspect its data in the CPU Profiler similar to how you normally would, with the following exceptions:
  • CPU activity is not represented along the CPU timeline.
  • The thread activity timeline indicates only where trace data is available for each thread and not actual thread states (such as running, waiting, or sleeping).
  • Record CPU activity using the Debug API:
  • You can now start and stop recording CPU activity in the CPU Profiler by instrumenting your app with 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 the profiler stops recording when your app calls stopMethodTracing(). While recording CPU activity that’s triggered using this API, the CPU Profiler shows Debug API as the selected CPU recording configuration.
  • Energy Profiler:
  • The Energy Profiler displays a visualization of the estimated energy usage of your app, as well as system events that affect energy usage, such as wakelocks, alarms, and jobs.
  • The Energy Profiler appears as a new row at the bottom of the Profiler window when you run your app on a connected device or Android Emulator running Android 8.0 (API 26) or higher.
  • Click the Energy row to maximize the Energy Profiler view. Place your mouse pointer over a bar in the timeline to see a breakdown of energy use by CPU, network, and location (GPS) resources, as well as relevant system events.
  • System events that affect energy usage are indicated in the System timeline below the Energy timeline. Details of system events within the specified time range are shown in the event pane when you select a time range in the Energy timeline.
  • To see the call stack and other details for a system event, such as a wakelock, select it in the event pane. To go to the code responsible for a system event, double-click the entry in the call stack.
  • Android Studio release notes
  • 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 updates (on Mac, Android Studio > Check for updates).
  • You can also download Android Studio here.
  • If you encounter problems in Android Studio, check the Known issues or Troubleshoot page.
  • For the latest news on releases, including a list of notable fixes in each preview release, see the release updates.
  • For information on what’s new in the Android Plugin for Gradle, see its release notes.
  • 3.2 (September 2018)
  • Android Studio 3.2 is a major release that includes a variety of new features and improvements.
  • 3.2.0 known issues
  • We strongly recommend against updating to Kotlin 1.2.70.
  • Android Studio includes a version of Kotlin 1.2.61 that fixes a bug that can cause Android Studio to hang. Kotlin 1.2.71 and later will also include this fix. Kotlin 1.2.70 does not include this fix.
  • Although you typically don't need to specify the build tools version, when using Android Gradle plugin 3.2.0 with renderscriptSupportModeEnabled set to true, you need to include the following in each module's build.gradle file:
  • android.buildToolsVersion "28.0.3"
  • What's New Assistant
  • A new assistant informs you about the latest changes in Android Studio.
  • The assistant opens when you start Android Studio after a fresh installation or update if it detects that there is new information to show. You can also open the assistant by choosing Help > What's new in Android Studio.
  • Android Jetpack
  • Android Jetpack helps to accelerate Android development with components, tools, and guidance that eliminate repetitive tasks and enable you to more quickly and easily build high-quality, testable apps. Android Studio includes the following updates to support Jetpack. For more information, see the Jetpack documentation.
  • Navigation Editor
  • The new Navigation Editor integrates with the navigation components of Android Jetpack to provide a graphical view for creating the navigation structure of your app. The Navigation Editor simplifies the design and implementation of navigation between in-app destinations.
  • In Android Studio 3.2, the Navigation Editor is an experimental feature. To enable the Navigation Editor, click File > Settings (Android Studio > Preferences on Mac), select the Experimental category in the left pane, check the box next to Enable Navigation Editor, and restart Android Studio.
  • To learn more, read the Navigation Editor documentation.
  • AndroidX migration
  • As part of Jetpack, we are migrating the Android Support Libraries to a new Android extension library using the androidx namespace. For more information, see the AndroidX overview.
  • Android Studio 3.2 helps you through this process with a new migration feature.
  • To migrate an existing project to AndroidX, choose Refactor > Migrate to AndroidX. If you have any Maven dependencies that have not migrated to the AndroidX namespace, the Android Studio build system also automatically converts those project dependencies.
  • The Android Gradle plugin provides the following global flags that you can set in your gradle.properties file:
  • android.useAndroidX: When set to true, this flag indicates that you want to start using AndroidX from now on. If the flag is absent, Android Studio behaves as if the flag were set to false.
  • android.enableJetifier: When set to true, this flag indicates that you want to have tool support (from the Android Gradle plugin) to automatically convert existing third-party libraries as if they were written for AndroidX. If the flag is absent, Android Studio behaves as if the flag were set to false.
  • Both flags are set to true when you use the Migrate to AndroidX command.
  • If you want to start using AndroidX libraries immediately and don't need to convert existing third-party libraries, you can set the android.useAndroidX flag to true and the android.enableJetifier flag to false.
  • Android App Bundle
  • Android App Bundle is a new upload format that includes all of your app’s compiled code and resources, but defers APK generation and signing to the Google Play Store.
  • Google Play’s new app serving model, called Dynamic Delivery, then uses your app bundle to generate and serve optimized APKs for each user’s device configuration, so each user downloads only the code and resources they need to run your app. You no longer need to build, sign, and manage multiple APKs, and users get smaller, more optimized downloads.
  • Additionally, you can add dynamic feature modules to your app project and include them in your app bundle. Through Dynamic Delivery, your users can then download and install your app’s dynamic features on demand.
  • To build a bundle, choose Build > Build Bundle(s) / APK(s) > Build Bundle(s).
  • For more information, including instructions for building and analyzing an Android App Bundle, see Android App Bundle.
  • Sample data in Layout Editor
  • Many Android layouts have runtime data that can make it difficult to visualize the look and feel of a layout during the design stage of app development. You can now easily see a preview of your view in the Layout Editor filled with sample data. When you add a view, a button appears below the view in the Design window. Click this button to set the design-time view attributes. You can choose from a variety of sample data templates and specify the number of sample items with which to populate the view.
  • To try using sample data, add a RecyclerView to a new layout, click the design-time attributes button below the view, and choose a selection from the carousel of sample data templates.
  • Slices
  • Slices provide a new way to embed portions of your app's functionality in other user interface surfaces on Android. For example, Slices make it possible to show app functionality and content in Google Search suggestions.
  • Android Studio 3.2 has a built-in template to help you to extend your app with the new Slice Provider APIs, as well as new lint checks to ensure that you're following best practices when constructing the Slices.
  • To get started right-click a project folder and choose New > Other > Slice Provider.
  • To learn more, including how to test your Slice interactions, read the Slices getting started guide.
  • Kotlin 1.2.61
  • Android Studio 3.2 bundles Kotlin 1.2.61, and the new Android SDK integrates better with Kotlin. For more information, see the Android Developers blog.
  • IntelliJ IDEA 2018.1.6
  • The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2018.1.6 release.
  • Android profilers
  • Try the following new Android Profiler features in Android Studio 3.2.
  • Sessions
  • You can now save Profiler data as sessions to revisit and inspect later. The profiler keeps your session data until you restart the IDE.
  • When you record a method trace or capture a heap dump, the IDE adds that data (along with your app's network activity) as a separate entry to the current session, and you can easily switch back and forth between recordings to compare data.
  • System Trace
  • In the CPU Profiler, select the new System Trace configuration to inspect your device's system CPU and thread activity. This trace configuration is built on systrace and is useful for investigating system-level issues, such as UI jank.
  • While using this trace configuration, you can visually mark important code routines in the profiler timeline by instrumenting your C/C++ code with the native tracing API or your Java code with the Trace class.
  • Inspect JNI references in the Memory Profiler
  • If you deploy your app to a device running Android 8.0 (API level 26) or higher, you can now inspect memory allocations for your app’s JNI code using the Memory Profiler.
  • While your app is running, select a portion of the timeline that you want to inspect and select JNI heap from the drop-down menu above the class list, as shown below. You can then inspect objects in the heap as you normally would and double-click objects in the Allocation Call Stack tab to see where the JNI references are allocated and released in your code.
  • Import, export, and inspect memory heap dump files
  • You can now import, export, and inspect .hprof memory heap dump files created with the Memory Profiler.
  • Import your .hprof file by clicking Start new profiler session in the profiler’s Sessions pane and then selecting Load from file. You can then inspect its data in the Memory Profiler as you would any other heap dump.
  • To save heap dump data to review later, use the Export Heap Dump button at the right of the Heap Dump entry in the Sessions pane. In the Export As dialog that appears, save the file with the .hprof filename extension.
  • Record CPU activity during app startup
  • You can now record CPU activity during your app's startup, as follows:
  • Select Run > Edit Configurations from the main menu.
  • Under the Profiling tab of your desired run configuration, check the box next to Start recording a method trace on startup.
  • Select a CPU recording configuration to use from the dropdown menu.
  • Deploy your app to a device running Android 8.0 (API level 26) or higher by selecting Run > Profile.
  • Export CPU traces
  • After you record CPU activity with the CPU Profiler, you can export the data as a .trace file to share with others or inspect later.
  • To export a trace after you’ve recorded CPU activity, do the following:
  • Right-click on the recording you want to export from the CPU timeline.
  • Select Export trace from the dropdown menu.
  • Navigate to where you want to save the file and click Save.
  • Import and inspect CPU trace files
  • You can now import and inspect .trace files created with the Debug API or CPU Profiler. (Currently, you can't import System Trace recordings.)
  • Import your trace file by clicking Start new profiler session in the profiler’s Sessions pane and then selecting Load from file. You can then inspect its data in the CPU Profiler similar to how you normally would, with the following exceptions:
  • CPU activity is not represented along the CPU timeline.
  • The thread activity timeline indicates only where trace data is available for each thread and not actual thread states (such as running, waiting, or sleeping).
  • Record CPU activity using the Debug API
  • You can now start and stop recording CPU activity in the CPU Profiler by instrumenting your app with 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 the profiler stops recording when your app calls stopMethodTracing(). While recording CPU activity that’s triggered using this API, the CPU Profiler shows Debug API as the selected CPU recording configuration.
  • Energy Profiler
  • The Energy Profiler displays a visualization of the estimated energy usage of your app, as well as system events that affect energy usage, such as wakelocks, alarms, and jobs.
  • The Energy Profiler appears as a new row at the bottom of the Profiler window when you run your app on a connected device or Android Emulator running Android 8.0 (API 26) or higher.
  • Click the Energy row to maximize the Energy Profiler view. Place your mouse pointer over a bar in the timeline to see a breakdown of energy use by CPU, network, and location (GPS) resources, as well as relevant system events.
  • System events that affect energy usage are indicated in the System timeline below the Energy timeline. Details of system events within the specified time range are shown in the event pane when you select a time range in the Energy timeline.
  • To see the call stack and other details for a system event, such as a wakelock, select it in the event pane. To go to the code responsible for a system event, double-click the entry in the call stack.
  • Lint checking:
  • Android Studio 3.2 includes many new and improved features for lint checking.
  • The new lint checks help you to find and identify common code problems, ranging from warnings about potential usability issues to high-priority errors regarding potential security vulnerabilities.
  • Lint checks for Java/Kotlin interoperability:
  • To make sure that your Java code interoperates well with your Kotlin code, new lint checks enforce the best practices described in the Kotlin Interop Guide. Examples of these checks include looking for the presence of Nullability annotations, use of Kotlin hard keywords, and placing lambda parameters last.
  • To enable these checks, click File > Settings (Android Studio > Preferences on Mac) to open the Settings dialog, navigate to the Editor > Inspections > Android > Lint > Interoperability > Kotlin Interoperability section, and select the rules that you want to enable.
  • Lint checks for Slices:
  • New lint checks for Slices help to ensure that you are constructing Slices correctly. For example, lint checks warn you if you have not assigned a primary action to a Slice.
  • New Gradle target:
  • Use the new lintFix Gradle task to apply all of the safe fixes suggested by the lint check directly to the source code. An example of a lint check that suggests a safe fix to apply is SyntheticAccessor.
  • Metadata updates:
  • Various metadata, such as the service cast check, have been updated for lint checks to work with Android 9 (API level 28).
  • Warning if running lint on a new variant:
  • Lint now records which variant and version a baseline is recorded with, and lint warns you if you run it on a different variant than the one with which the baseline was created.
  • Improvements to existing lint checks:
  • Android Studio 3.2 includes many improvements to existing lint checks. For example, the resource cycle checks now apply to additional resource types, and the translation detector can find missing translations on the fly, in the editor.
  • Issue IDs more discoverable
  • Issue IDs are now shown in more places now, including in the Inspection Results window. This makes it easier for you to find the information that you need to enable or disable specific checks through lintOptions in build.gradle.
  • Data Binding V2:
  • Data Binding V2 is now enabled by default and is compatible with V1. This means that, if you have library dependencies that you compiled with V1, you can use them with projects using Data Binding V2. However, note that projects using V1 cannot consume dependencies that were compiled with V2.
  • D8 desugaring:
  • In Android Studio 3.1, we integrated the desugaring step into the D8 tool as an experimental feature, reducing overall build time. In Android Studio 3.2, desugaring with D8 is turned on by default.
  • New code shrinker:
  • R8 is a new tool for code shrinking and obfuscation that replaces ProGuard.
  • 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.
  • 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 to help you to edit your CMake build scripts, such as the following:
  • Syntax highlighting and code completion: The IDE now highlights and suggests code completion for common CMake commands. Additionally, you can navigate to a file by clicking it while pressing the Control key (Command on Mac).
  • Code reformatting: You can now use IntelliJ’s code reformat option to apply code styles to your CMake build scripts.
  • Safe refactoring: The IDE’s built-in refactoring tools now also check if you are renaming or deleting files that you reference in your CMake build scripts.
  • Navigate external header files:
  • When using the Project window in previous versions of Android Studio, you could navigate and inspect only the header files that belong to libraries you build from a local project. With this release, you can now also view and inspect header files included with external C/C++ library dependencies that you import into your app project.
  • If you already include C/C++ code and libraries in your project, open the Project window on the left side of the IDE by selecting View > Tool Windows > Project from the main menu and select Android from the drop-down menu. In the cpp directory, all headers that are within the scope of your app project are organized under the include node for each of your local C/C++ library dependencies, as shown below.
  • Native multidex enabled by default:
  • Previous versions of Android Studio enabled native multidex when deploying the debug version of an app to a device running Android API level 21 or higher. Now, whether you’re deploying to a device or building an APK for release, the Android plugin for Gradle enables native multidex for all modules that set minSdkVersion=21 or higher.
  • AAPT2 moved to Google's Maven repository:
  • Beginning with Android Studio 3.2, the source for AAPT2 (Android Asset Packaging Tool 2) is Google's Maven repository.
  • The new version of AAPT2 fixes many issues, including improved handling of non-ASCII characters on Windows.
  • Removal of configuration on demand:
  • The Configure on demand preference has been removed from Android Studio.
  • Android Studio no longer passes the --configure-on-demand argument to Gradle.
  • ADB Connection Assistant:
  • The new ADB Connection Assistant provides step-by-step instructions to help you set up and use a device over the Android Debug Bridge (ADB) connection.
  • To start the assistant, choose Tools > Connection Assistant.
  • The ADB Connection Assistant provides instructions, in-context controls, and a list of connected devices in a series of pages in the Assistant panel.
  • Emulator improvements:
  • You can now save and load snapshots of an AVD (Android virtual device) at any time in the Android Emulator, making it fast and easy to return an emulated device to a known state for testing. When you edit an AVD using the AVD Manager, you can specify which AVD snapshot to load when the AVD starts.
  • Controls for saving, loading, and managing AVD snapshots are now in the Snapshots tab in the emulator's Extended controls window.

New in Android Studio 3.3 Canary 11 (Sep 20, 2018)

  • When using Gradle Kotlin DSL, you can now set source and target compatibility in compileOptions
  • Improved incremental Java compilation when using annotation processors: This update decreases build times by improving support for incremental Java compilation when using annotation processors.
  • For projects that include Kotlin code: Incremental Java compilation is enabled by default, even if your project uses the data-binding or retro-lambda plugin.
  • Android App Bundles now support Instant Apps: Android Studio now includes support for building Android App Bundles with full support for Instant Apps. In other words, you can now build and deploy both installed app and Instant App experiences from a single Android Studio project, and include them in a single Android App Bundle.
  • If you’re creating a new Android Studio project using the Create New Project dialog, make sure you check the box next to Configure your project > This project will support instant apps. Android Studio then creates a new app project as it normally would, but includes the following properties in your manifest to add instant app support to your app’s base module
  • You can then add dynamic feature modules that are instant app-enabled by selecting File > New > New Module from the menu bar and then selecting Instant Dynamic Feature Module from the Create New Module dialog.
  • If you already have a project that supports Dynamic Delivery, you can still add instant app-enabled dynamic features using the New Module wizard, as described above. However, keep in mind that doing so also enables instant app support for your app’s base module.
  • To deploy your app to a local device as an instant app, edit your run configuration and check the box next to General > Deploy as instant app.
  • Support for Clang-Tidy: Android Studio now includes support for static code analysis using Clang-Tidy for projects that include native code. To enable support for Clang-Tidy, you need to update your NDK to r18 or higher.
  • You can then enable or re-enable the inspections by opening the Settings or Preferences dialog, navigating to Editor > Inspections > C/C++ > General > Clang-Tidy. When selecting this inspection in the Settings or Preferences dialog, you can also see the list of Clang-Tidy checks the IDE enables and disables by default under the Option section of the right-most panel. To enable additional checks, simply add them to the list and click Apply.
  • To configure Clang-Tidy with additional options, click Configure Clang-Tidy Checks Options and add them in the dialog that opens.
  • This update includes fixes for several bugs, including the following:
  • Fixed an issue in Layout Editor that was causing java.lang.NoSuchMethodError when previewing a customized date.

New in Android Studio 3.3 Canary 10 (Sep 13, 2018)

  • This update includes the following new features and changes in behavior:
  • The Android Gradle plugin now requires Gradle 4.10 or higher.
  • Improved classpath dependency synchronization: When resolving dependencies on your runtime and compile time classpaths, the Android Gradle plugin attempts to fix certain downstream version conflicts for dependencies that appear across multiple classpaths.
  • Lazy task configuration: The Android Gradle plugin now uses a new task configuration API, which avoids the cost of creating and configuring tasks during Gradle’s configuration phase when those tasks are not going to be executed. This lets the plugin do less work when building just one of many variants in each module.
  • New projects now contain the /.idea/caches path in .gitignore.

New in Android Studio 3.3 Canary 9 (Sep 13, 2018)

  • This update includes the following new features and changes in behavior:
  • IntelliJ IDEA 2018.2.2: The core Android Studio IDE has been updated with improvements from IntelliJ IDEA through the 2018.2.2 release.
  • When you change the width or height of a view in the Layout Editor without specifying a unit, Android Studio now appends a default dp unit value in both the Layout Editor and the corresponding XML.
  • Gradle now copies extracted ProGuard rules to the local project build directory instead of the root project build directory. This ensures that tasks from different projects do not share the same output directory, which can lead to Gradle synchronization issues.
  • This update includes fixes for several bugs, including the following:
  • gradlew clean command was occasionally failing.
  • Android Studio wasn't correctly reporting some of the possible values for android:fontFamily.
  • Layout Editor Preview window wasn't scaling images properly.

New in Android Studio 3.2 RC 3 (Sep 13, 2018)

  • This update include fixes for the following bugs:
  • There were known issues with Kotlin 1.2.60 that are addressed with the Kotlin 1.2.61 components in this build.
  • "Manifest merger failed" and "Failed to resolve" errors occurred when using design libraries.
  • Errors and hangs occurred after migrating a project to AndroidX.
  • Incorrect libraries were being used after migrating a project to AndroidX.

New in Android Studio 3.3 Canary 8 (Aug 30, 2018)

  • Fixes for several bugs, including the following:
  • Layout Editor was incorrectly reporting that a horizontal constraint was missing.

New in Android Studio 3.2 RC 2 (Aug 25, 2018)

  • This update includes some bug fixes and the following behavior changes:
  • Android Gradle Plugin 3.2.0 now uses SDK build tools 28.0.2 by default.
  • The default version of D8 and R8 is now 1.2.43.

New in Android Studio 3.2 RC 1 (Aug 24, 2018)

  • Includes a new version of the Jetifier library (1.0.0-alpha10), which is included in the updated Android Gradle Plugin (AGP 3.2.0-rc01).
  • Fixes for the following bugs:
  • Method minification with R8 did not complete in some cases.
  • Projects created in Android Studio used old dependencies and class names instead of new androidx names.

New in Android Studio 3.3 Canary 7 (Aug 23, 2018)

  • New features and changes:
  • You can now open the Android Virtual Device manager from the Welcome screen.
  • Fixes for several bugs, including the following:
  • Project Structure Dialog was improperly formatting compileSdkVersion values.
  • Fixed several caching and performance issues related to data binding.
  • Fixed various issues with Lint.

New in Android Studio 3.3 Canary 6 (Aug 16, 2018)

  • This update includes the following new features and changes in behavior:
  • You can now view a list of active Gradle Daemons in Android Studio. To do this, double-press the Shift key to bring up the Search Everywhere dialog, type "Show Gradle Daemons", and click on the Show Gradle Daemons result that appears.
  • Linter now produces a warning if using a vector image larger than 200 x 200 dp.
  • The Navigation Editor supports new argument types from library versions 1.0.0-alpha03 and 1.0.0-alpha04.
  • Single-variant project sync: Syncing your project with your build configuration is an important step in letting Android Studio understand how your project is structured. However, this process can be time-consuming for large projects. If your project uses multiple build variants, you can now optimize project syncs by limiting them to only the variant you have currently selected. When syncing your project using Android Studio 3.3 Canary 6 or higher, the IDE prompts you to enable this optimization. To enable this optimization manually, click File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle on a Mac) and check Only resolve selected variants. Note: This optimization currently supports projects that include only the Java programming language. If, for example, the IDE detects Kotlin or C++ code in your project, it does not automatically enable this optimization, and you should not enable it manually.
  • This update includes fixes for several bugs, including the following:
  • Users were unable to install JetBrains plugins.
  • Android Studio wasn't properly resolving kotlinx.android.synthetic.* imports.
  • Linter was producing false positive MissingTranslation errors for Japanese strings.
  • When using synthetic properties from the Kotlin Android Extensions plugin, the linter was improperly marking some ID values as unused.
  • Quick fix for findViewById resulted in a compilation error.
  • Using @BindingAdapter with duplicate values now results in a warning along with a log entry.

New in Android Studio 3.3 Canary 5 (Aug 8, 2018)

  • New change in behavior:
  • versionCode is now required to be a positive number. Using a value less than 1 results in a build error.
  • Fixes for several bugs, including the following:
  • Layout Editor was still handling input after losing focus.

New in Android Studio 3.1.4.0 (Aug 7, 2018)

  • The bundled Kotlin is now version 1.2.50.
  • New projects are created with kotlin-stdlib-jdk* artifacts, rather than with kotlin-stdlib-jre* artifacts, which are deprecated.
  • R8 parsing of ProGuard rules has been improved.
  • The following bugs have been fixed:
  • Attempting to run the Kotlin Main class failed with an error: "Error: Could not find or load main class..."
  • R8 entered an infinite loop while performing certain optimizations.
  • Using the Rerun failed tests command in the Run window sometimes incorrectly returned the message "No tests were found".
  • D8 did not correctly handle invoke-virtual instances, causing a crash with a VerifyError: invoke-super/virtual can't be used on private method
  • The Data Binding compiler was depending on an old version of com.android.tools:annotations. The compiler now uses tools annotations from the base project when available.
  • Android Studio crashed during fragment transitions when using profilers.
  • The debugger crashed when debugging a layout with a text box.
  • D8 failed to read some ZIP files with special characters.

New in Android Studio 3.3 Canary 4 (Aug 3, 2018)

  • NEW FEATURES AND CHANGES IN BEHAVIOR:
  • The SliceProvider template has been updated.
  • The bundle Gradle task can now generate universal APKs.
  • The Navigation Editor now sorts attributes in dropdown lists alphabetically.
  • Single-variant project sync: Syncing your project with your build configuration is an important step in letting Android Studio understand how your project is structured. However, this process can be time-consuming for large projects. If your project uses multiple build variants, you can now optimize project syncs by limiting them to only the variant you have currently selected.
  • Provide quick feedback: If you've opted into sharing usage statistics to help improve Android Studio, you'll see two new icons in the status bar at the bottom of the IDE window--a smiling face and a frowning face. Simply click the icon that best represents your current experience with the IDE. When you do so, the IDE sends usage statistics that allow the Android Studio team to better understand your sentiment. In some cases, such as when you indicate a negative experience with the IDE, you'll have an opportunity to provide additional feedback. If you haven't already done so, you can enable sharing usage statistics by opening the Settings dialog (Preferences on a Mac), navigating to Appearance & Behavior > System Settings > Data Sharing, and checking Send usage statistics to Google.
  • Updated Project Structure dialog: Android Studio 3.3 Canary 4 introduces updates to the Project Structure dialog (PSD). When you open the dialog by selecting File > Project Structure from the menu bar, you can manage how your project is configured with the following new features:
  • Visualize the actual structure of a project, as resolved by Gradle as a project sync. For example, you can visualize the dependency graph of each module.
  • Get notifications when new versions of your library dependencies are available.
  • Configure a project through the dialog UI, without manually editing build.gradle files.
  • FIXES FOR SEVERAL BUGS:
  • Data binding was causing issues with caching task outputs.
  • MergeSourceSetFolders was using the worker API regardless of the flag that was set.
  • The Fabric plugin couldn't easily access a project mapping file.
  • Adding MultiDexApplication as an application name was broken when using AndroidX.
  • Building bundles with R8 enabled was causing crashes.
  • CMake server mode was causing issues with C++ code completion.
  • Some folders weren't properly marked as non-source folders, causing some issues.
  • JNI_OnLoad and JNI_OnUnload now show quick fixes if parameter or return types are incorrect.
  • Documentation preview wasn't properly handling certain types of content.
  • Fractional HiDPI wasn't working properly on Windows machines.
  • Layout editor was improperly displaying small fonts on HiDPI monitors.
  • In some cases, the Navigation Editor wasn't recognizing NavHosts.
  • The API Version Distribution chart was out of date.
  • Using analyzeProjectStructure on a large project was resulting in an ArrayIndexOutOfBoundsException.
  • Device File Explorer files was saving files to a set location. This is now configurable.
  • The Force HTTP setting in the Android Studio SDK updater was being ignored.
  • The Android Studio SDK updater was prohibiting proxy caching.

New in Android Studio 3.2 Beta 4 (Jul 17, 2018)

  • This update includes the following change in behavior:
  • Added a quick fix when syncing your project. If the minimum SDK version is defined in the manifest but not in build.gradle, the quickfix will remove it from the manifest and add it to build.gradle. If the minimum SDK version is defined in both the manifest and build.gradle, it will remove it from the manifest.
  • This update includes the following bug fixes:
  • The D8 compiler was improperly handling vector graphics.
  • The D8 compiler was causing a VerifyError.
  • The Recycle lint check was ignoring Kotlin.

New in Android Studio 3.3 Canary 3 (Jul 13, 2018)

  • This update includes the following change in behavior:
  • Gradle compatibility: Android Gradle Plugin 3.3.0-alpha3 and higher now requires Gradle 4.9 RC1 or higher.
  • This update includes fixes for several bugs, including the following:
  • Users were unable to open some trace files.
  • In some cases, users were unable to generate a signed APK.
  • Android Studio was not properly parsing the project Android SDK version even when specified in build.gradle.
  • Layout Inspector bounds indicators were incorrect.
  • Logcat printed all logs, even when filtering was enabled.

New in Android Studio 3.2 Beta 2 (Jul 4, 2018)

  • This update includes fixes for several bugs, including the following:
  • Resource configurations set with resConfigs were ignored when building an Android App Bundle.
  • Resource processing was incorrect in some cases when the minimum SDK target was specified to be the preview version.
  • Overrides set using the variant API were ignored when the version name and version code were published for dynamic feature modules for Android App Bundles.
  • D8 failed to read some ZIP files with special characters.
  • kotlin-stdlib-jre* artifacts are now deprecated, so kotlin-stdlib-jdk* are used instead.
  • Lint checks failed when an invalid issue ID was used in the XML lint configuration file.
  • Lint checks incorrectly reported some resources as unused if they were referenced through enum constructors.
  • It was impossible to disbale the Auto verify option for a deep link in the Navigation Editor.
  • Using the Rerun failed tests command in the Run window sometimes incorrectly returned the message "No tests were found".
  • A conflict between the Android Gradle Plugin and kapt caused errors with data binding. See Issue #110198434 for information about how other annotation processors may need to account for this issue.

New in Android Studio 3.3 Canary 2 (Jul 4, 2018)

  • This update includes the following new features, updates, and changes in behavior:
  • The Exceptions Support (-fexceptions) and Runtime Type Information Support (-frtti) options have been removed from the Customize C++ Support page of the Create New Project wizard. These controls referred to features that are now always enabled.
  • The dexlib2 library has been updated to version 2.2.4.
  • Processing of Java resources has been moved to the R8 resource API from the Android Gradle Plugin (AGP).
  • The templates used when creating a new project have been updated to use the settings in proguard-android-optimize.txt, which enables several Kotlin optimizations, including some in R8 regarding lambda merging and null analysis.
  • This update includes fixes for several bugs, including the following:
  • In some cases, users of Android Studio 3.3 Canary 1 were incorrectly prompted to install previous builds in the Beta channel.
  • A rendering error in the Component Tree pane in the Layout Editor prevented the display of names of components.
  • Adding a new item using the New Image Asset dialog failed.
  • The CreateFullJarDebug task ran unnecessarily because Gradle never considered it to be up to date.
  • Dynamic features failed to build because of an incorrect Java library dependency.

New in Android Studio 3.2 Beta 1 (Jun 22, 2018)

  • Fixes for several bugs, including the following:
  • The Kotlin plugin didn't recognize the com.android.feature module, so you would mistakenly receive the following message when performing a Gradle sync: 'kotlin-android' expects one of the Android Gradle plugins to be applied to the project:...
  • The resource shrinker was mistakenly enabled for test variants, causing failures with the following error message: Execution failed for task ':app:transformClassesAndDexWithShrinkResForStagingAndroidTest'.
  • Android Studio gave superfluous warnings about folders generated by kapt.
  • Android Studio crashed because of an uncaught exception in the parsing of a malformed date and time.
  • The dynamic feature template incorrectly used just include where it should have used dist:include.

New in Android Studio 3.2 Canary 18 (Jun 12, 2018)

  • Fixes for the following bugs:
  • Inclusion of a test library dependency caused the Navigation Editor to block waiting for build completion.
  • The debugger crashed when debugging a layout with a text box.
  • OnePixelDivider had a myDisposable instance that was not cleared when the instance was disposed.
  • The default .gitignore didn't ignore .idea/caches/build_file_checksums.ser.
  • Some lint warnings were not suppressed when tools:ignore was used.
  • Android Studio crashed during fragment transitions when using profilers.
  • Android Studio failed to download SDK packages on macOS after the default language was changed from English to Hindi.
  • In addition to the bug fixes mentioned above, the lint checker has been improved to no longer report several categories of false positives.

New in Android Studio 3.1.3.0 (Jun 10, 2018)

  • Fixes for the following bugs:
  • Memory leaks caused Android Studio to become slow and unresponsive after you had been using the Layout Editor. This update includes fixes for most of these issues. We intend to release another update soon to address additional memory leaks.
  • Some applications built with D8 crashed on some Verizon Ellipsis tablets.
  • Installation of applications built with D8 failed with an INSTALL_FAILED_DEXOPT error on devices running Android 5.0 or 5.1 (API level 21 or 22).
  • Some applications that used the OkHttp library and were built with D8 crashed on devices running Android 4.4 (API level 19).
  • Android Studio sometimes failed to start, with a ProcessCanceledException during class initialization for com.intellij.psi.jsp.JspElementType.

New in Android Studio 3.2 Canary 17 (Jun 10, 2018)

  • Among the bugs fixed in this update is a source of memory leaks that occur when you use the Layout Editor. For details of this fix and how it relates to other updates for Android Studio, see this post by Android Studio product manager James Lau.
  • Applications built with Navigation Architecture Component (android.arch.navigation) libraries crashed because the libraries were not being processed during AndroidX refactoring. This has been fixed.
  • Kotlin methods that return Unit in databinding layouts are now handled correctly.
  • Data Binding v2 compilation failed in cases of one module having a very large number of layouts. This has been fixed.
  • Test coverage data was incomplete when using Android Test Orchestrator. This is fixed.

New in Android Studio 3.2 Canary 16 (May 30, 2018)

  • Fixes several bugs:
  • Use of the Layout Editor caused Android Studio memory usage to continually increase. We have addressed a memory leak underlying this issue. If you have experienced this memory leak, please try Android Studio 3.2 Canary 16 and let us know if the issue is resolved for you.
  • Setting the android.useAndroidX and android.enableJetifier flags to true in your gradle.properties file forced dependencies on missing androidx.multidex artifacts. For information on AndroidX, see the Android Studio Preview release notes.
  • You couldn't scroll within the Select a system image list in the Virtual device configuration dialog box to select older system images.
  • Some Android virtual devices (AVDs) created from the command line could not be used by Android Emulator.
  • The Android Virtual Device Manager would fail to operate if it encountered a corrupt or badly formed .ini file.
  • By default, ProGuard was using the -dump option, which tells ProGuard to write out a text version of the processed bytecode to the build directory. This data can be hundreds of megabytes, and its unnecessary inclusion can make many processes slower.
  • Android Studio crashed when attempting to add or remove a module by importing a Gradle project.
  • The keyboard shortcut (Control + C or Command + C) to copy a screenshot from the Screen capture window did not copy the screenshot unless you had first clicked within the window.

New in Android Studio 3.2 Canary 15 (May 18, 2018)

  • Fixes:
  • R8 parsing of ProGuard rules has been improved.
  • Errors regarding ProGuard configuration have been improved.
  • Code coverage for Kotlin test cases was being reported as 0%. This bug is fixed.
  • Assets in folders with names beginning with an underscore (_) character were omitted. This bug is fixed.
  • The default .gitignore didn't ignore .idea/caches/build_file_checksums.ser. This bug is fixed.
  • Under some circumstances, you could not select items in the Preview pane of the Layout Editor. This bug is fixed.
  • The Network Profiler was incorrectly reformatting application header names to show all lower-case letters, even if the actual application header names used upper-case letters. This bug is fixed.
  • The enabled and disabled states of the Terminate app button have been made more obviously different from one another.
  • The UI for creating cloud projects has been replaced with a link to create a new Firebase project.

New in Android Studio 3.1.2.0 (Apr 24, 2018)

  • This update fixes several bugs and improves the speed of lint checking in some scenarios:
  • In some cases, Android Studio hung indefinitely during exit.
  • Builds configured with source sets failed with the following message when Instant Run was enabled: "The SourceSet name is not recognized by the Android Gradle Plugin."
  • When Instant Run was enabled, builds of new Kotlin projects failed when triggered by the Run command.
  • During editing of the build.gradle file, there was sometimes a noticeable delay between typing a character and the character appearing on the screen.
  • Build failures occurred during dexing in some projects with large numbers of modules or external dependencies, with the following error message: "RejectedExecutionException: Thread limit exceeded replacing blocked worker"
  • The computation of the D8 main DEX list was not taking into account some reflective invocations.
  • This update also includes changes that make running lint checks from Gradle much faster in some scenarios.

New in Android Studio 3.2 Canary 12 (Apr 23, 2018)

  • Native multidex enabled by default
  • AAPT2 moved to Google's Maven repository

New in Android Studio 3.2 Canary 11 (Apr 21, 2018)

  • This update includes fixes for the following public issues:
  • Issue#77240636: Solid black-filled areas are missing in a vector drawable imported from SVG
  • Issue#77303892: Losing alpha channel in Image Asset Studio on Windows with Russian Locale.
  • Issue#77522540: Deprecation for 'compile' points people to 'implementation'
  • Issue#68977385: Lambda causes crash in specific situation
  • Issue#72637989: Build does not run with instant run enabled on AS 3.1 Beta 1
  • Issue#74961584: Studio disables sdcard whenever data partition is resized
  • Issue#74493350: Apply fix to multiple files by one operation
  • Issue#37075533: Lint check to avoid compiler-generated synthetic accessor methods & constructors.
  • Issue#76404689: Advanced profiling causes device to crash with StackOverflowError
  • Issue#72872264: Studio Freeze (ANR)
  • Issue#76456341: Multiline log messages should be indented consistently between the Logcat and Run windows
  • Issue#73048570: Translations Editor - deleting keys does not update list.

New in Android Studio 3.2 Canary 10 (Apr 10, 2018)

  • Navigate External Header Files:
  • When using the Project window in previous versions of Android Studio, you could navigate to and inspect only the header files that belong to libraries you build locally. With this release, you can now also view and inspect header files included with external C/C++ library dependencies that you import into your app.
  • If you already include C/C++ code and libraries in your project, open the Project window on the left side of the IDE (click View > Tool Windows > Project) and make sure you select Android from the drop-down menu. In your project’s cpp/ directory, all headers that are within the scope of your app are organized under the include node for each of your local C/C++ library projects, as shown below.
  • General bug fixes:
  • Issue#76198464: Material Design icons picker doesn't launch but throws
  • Issue#75425826: Improve min sdk conflict fix
  • Issue#76004637: Update to Proguard 6.0.1
  • Issue#67492130: Remove repeated Java 8 language features support message
  • Issue#73602296: Implement BuildableArtifact API
  • Issue#73576747: JSR/RET are not supported with computeFrames option
  • Issue#72811718: java.io.IOException: Failed to find byte code for android/util/IntProperty
  • Issue#73132906: Attaching native debugger is very slow and locks up Android Studio for multi-module projects.
  • Issue#75974712: Warn if canvas.getWidth/getHeight are used in View#onDraw, Drawable#draw
  • Issue#74352259: Android Studio does not see test project dependencies

New in Android Studio 3.2 Canary 9 (Apr 3, 2018)

  • Data Binding V2:
  • Data Binding V2 is now enabled by default and is compatible with V1. This means that, if you have library dependencies that you compiled with V1, you can use them with projects using Data Binding V2. However, note that projects using V1 cannot consume dependencies that were compiled with V2.
  • General bug fixes:
  • Issue#37133944: An empty path string should not be created when importing a vector drawable from SVG
  • Issue#74428305: Android P AVD Has "Android null (Google APIs)" as Target
  • Issue#73493534: Built-in shrinker Proguard rules parser
  • Issue#73957018: Stop min sdk support from manifest when building via gradle
  • Issue#74240422: APK Analyzer warning opening R8 generated mapping file
  • Issue#74278841: Jar resources are stripped and cannot be retained
  • Issue#74388337: False positive "SharedPreferences.edit() without a corresponding commit() or apply() call"
  • Issue#74469014: Non-ASCII characters are not handled well in the profiler
  • Issue#72798630: Unable to find module with Gradle path
  • Issue#73864693: LayoutInspector throws java.lang.StringIndexOutOfBoundsException: String index out of range: 610
  • Issue#71817695: Adding "year" to logcat time output

New in Android Studio 3.2 Canary 8 (Mar 27, 2018)

  • Inspect JNI References in the Memory Profiler:
  • If you deploy your app to a device running Android 8.0 (API level 26) or higher, you can inspect memory allocations for your app’s JNI code using the Memory Profiler. While your app is running, select a portion of the timeline that you want to inspect and select JNI heap from the drop-down above the class list, as shown below. You can then inspect objects in the heap as you normally would and double-click objects in the Allocation Call Stack tab to see where the JNI references are allocated and released in your code.
  • General bug fixes:
  • Issue#72614343: Gradle build fails to recover from invalid cached library

New in Android Studio 3.2 Canary 7 (Mar 20, 2018)

  • SMART EDITOR FEATURES FOR CMAKE BUILD FILES:
  • If you use CMake to add C and C++ code to your project, Android Studio now includes smart editor features while you edit your CMake build scripts, such as:
  • Syntax highlighting and code-completion: The IDE now highlights and suggests code completion for common CMake commands. Additionally, you can navigate to a file by clicking it while pressing the Control key (or Command on MacOS).
  • You can now use IntelliJ’s code reformat option to apply code styles to your CMake build scripts.
  • Safe file renaming and deletion: The IDE’s built-in refactoring tools now also check if you are renaming or deleting files that you reference in your CMake build scripts.
  • GENERAL BUG FIXES:
  • This update includes fixes for the following public issues:
  • Issue#73335428: Relative path for ANDROID_HOME breaks the build
  • Issue#37104761: Enforce check that targetSdkVersion is not less than minSdkVersion
  • Issue#37095605: AS/Lint should check for non-localized version of drawable resource
  • Issue#73981396: Request: add warning when using Locale.getDefault() inside static-final variable
  • Issue#74128292: Kotlin import flagged for InlinedApi despite constant used correctly
  • Issue#74225292: Unit test configuration by context for entire directory in Kotlin is creating duplicate
  • Issue#64727495: Use dependency on the latest Espresso library.
  • Issue#37119265: Do not use deprecated version of LargeTest
  • Issue#70578119: C++ compiler incorrectly reporting STL type errors

New in Android Studio 3.1 Canary 9 (Jan 25, 2018)

  • General bug fixes.

New in Android Studio 3.1 Canary 8 (Jan 13, 2018)

  • Fixes an issue that broke Kotlin annotation processors for projects that enabled Data Binding. (See issue #70915745).

New in Android Studio 3.1 Canary 6 (Dec 21, 2017)

  • GENERAL BUG FIXES AND THE FOLLOWING NEW FEATURES:
  • Upgrades the base IDE to IntelliJ 2017.3. You may notice changes in behavior and performance as a result of this merge. If you encounter changes you believe to be regressions, please report a bug.
  • Updates the Kotlin plugin to version 1.2.
  • Updates to Data Binding:
  • You can now use a LiveData object as an observable field in data binding expressions. The ViewDataBinding class now includes a new setLifecycle method that you need to use to use to observe LiveData objects.
  • New compiler: You can preview a new incremental compiler for your data binding classes. To enable this compiler, add android.databinding.enableV2=true to your gradle.properties file, or include the following command line argument: -Pandroid.databinding.enableV2=true. Keep in mind, this compiler is not backwards compatible, so you need to recompile all of your data binding classes with this feature enabled to take advantage of incremental compilation.
  • The ObervableField class can now accept other Observable objects in its constructor. The ObservableField object registers a change when one of its Observable dependencies register a change.
  • KNOWN ISSUES:
  • Updating existing projects to the alpha 6 Android Gradle plugin fails. You must manually update to 3.1.0-alpha06 as described above.
  • When using Java 8 language features, the intentions menu item to “Set Language Level to 8" is missing.
  • AAPT2 may throw an error when adding a tabbed activity to a project which is created with Maps activity.
  • You may get an IsolationException error while building LintTest project.
  • Certain devices may cause a java.lang.AssertionError while working with profilers.
  • You may receive a "File Creation failed" error while recording espresso tests for Instant Apps that include code written in Kotlin.
  • You may receive a fatal exception when using Java 8 language features with Android Instant Apps projects.
  • Your app may see FATAL_EXCEPTION "Error inflating class ImageView" when adding color resources to an ImageView using the theme attribute.
  • You may receive a TimeoutException while deploying a Wear project to the emulator.
  • When creating a Android Instant Apps project that includes a BottomNavigationView, you may get a null pointer exception.

New in Android Studio 3.1 Canary 5 (Dec 6, 2017)

  • Includes in-process desugaring to decrease compile time when using Java 8 language features. To try this preview feature, set android.enableD8.desugaring=true in your project’s gradle.properties file.
  • In the Network Profiler, a new Request tab provides network request details, as shown below.
  • In the CPU Profiler, a new search feature allows you to highlight relevant trace results in Trace Pane, as shown below. This feature is also available in the Memory Profiler to filter the results of your memory allocations or heap dumps. To enter a search query, click the icon at the top-right corner of the pane and then click on the search box. In the CPU profiler Flame Chart pane, call stacks that include the search query are highlighted and moved to the left side of the chart.
  • Known Issue: In the Top Down and Bottom Up CPU profiler charts, relevant search results are prioritized above others when a column is sorted in a descending order. However, this prioritization does not take place when columns are sorted in an ascending order.
  • Known Issue: When pausing while entering a search query in the CPU profiler, the IDE updates the results with your query and disables the cursor within the search field. That is, you need to click into the search field again to continue typing.

New in Android Studio 3.0.1.0 (Nov 20, 2017)

  • Minor update to Android Studio 3.0 that includes general bug fixes and performance improvements.

New in Android Studio 3.1 Canary 4 (Nov 18, 2017)

  • General bug fixes.

New in Android Studio 3.1 Canary 3 (Nov 10, 2017)

  • General bug fixes.

New in Android Studio 3.0.0.18 (Oct 28, 2017)

  • 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 ndkCompile is 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.
  • 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.
  • 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.
  • Note: The Logcat view also moved to a separate window (it was previously inside Android Monitor, which was removed).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Note: You must set compileSdkVersion to 26 or higher to use adaptive launcher 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 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 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 element alongside the corresponding element.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.
  • 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
  • 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:
  • 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.

New in Android Studio 3.0 RC 2 (Oct 21, 2017)

  • This update includes general bug fixes.

New in Android Studio 3.0 RC 1 (Oct 14, 2017)

  • Fixes for the following public issues:
  • Issue #65519025: Missing classes in APK
  • Issue #65829618: Incremental builds fail when enabling resource shrinking
  • Issue #67172466: Android Studio hangs in some users
  • Issue #65500758: Adaptive icon preview does not refresh when changing shape
  • Issue #65684665: Android Studio creates invalid fontProviderQuery
  • Issue #65417958: Update Android Studio Templates to use VectorDrawable Foreground
  • Issue #65354278: Cleaning the project from the command line causes Robolectric to not find certain classes
  • Issue #63599784: Compile config deprecation warning doesn't respect Gradle's -q flag
  • Issue #65607225: Projects with single quote in title fail to install on emulators
  • Issue #64939383: Can't compile an app module's Android tests when a library module exposes android.support.v8.renderscript.RenderScript via API
  • Issue #65213467: Missing "Override" declarations when creating Fragment using Kotlin as source language

New in Android Studio 3.0 Beta 7 (Oct 4, 2017)

  • Fixed issues:
  • Issue #65772685: Android Studio reports that Kotlin is not configured
  • Issue #65524516: Vanilla CMake error messages report full server interaction at console
  • Issue #65336086: Android plugin doesn't allow specifying CMAKE_TOOLCHAIN_FILE
  • Issue #65324685: “Failed to capture application” error when using profilers
  • Issue #65260658: Layoutlib doesn't show gradients embedded in a drawable
  • Issue #65041739: Download stops and hangs even after clicking “Cancel”
  • Issue #65032914: Refactoring name of declare-styleable fails
  • Issue #64804587: External kotlin module not included in some tests
  • Issue #37526099: Repeating “Socket Error: connection refused” when profilers are enabled
  • Issue #64212471: Profiler's 'close' button lack a tooltip
  • Issue #37137541: Asset in AAR file not found in design preview
  • Issue #37111548: Update "new layout resource" dialog to use ConstraintLayout by default.
  • Issue #65721163: IndexOutOfBoundsException during sync

New in Android Studio 3.0 Beta 6 (Sep 17, 2017)

  • Adds support for using CMake 3.7 or higher, and includes fixes for the following issues:
  • Issue #37137285: Some logs no longer appear in the console.
  • Issue #65050576: Issue resolving dependency on httpclient. Due to collisions with the internal version that the Android platform includes, you should exclude dependencies on httpclient from your build.gradle files.
  • Issue #65363025: Corrupt DEX files caused by performance optimizations.
  • Issue #65494776: Builds fail when using versions of CMake that are older than v3.6.4111459.

New in Android Studio 3.0 Beta 5 (Sep 9, 2017)

  • This release has a number of general bug fixes as well as a collection focused on C++ development. If you experience any issues please open a new bug or file feedback as soon as possible .

New in Android Studio 3.0 Beta 4 (Sep 2, 2017)

  • New Android plugin DSL for manipulating dependency matching strategy. You now provide fallbacks for missing build types and flavors using matchingFallbacks (which replaces buildTypeMatching and productFlavorMatching). You also provide the default selection and fallbacks for missing dimensions using missingDimensionStrategy (which replaces flavorSelection). To learn more, read Resolve build errors related to dependency matching.

New in Android Studio 3.0 Beta 2 (Aug 12, 2017)

  • This release fixes an issue which resulted in the compiler throwing a ClassNotFoundException when you enable Java 8 language features and specify minSdkVersion 19 or higher—this also caused some code analysis tools, such as ProGuard, to fail. For more information, see issue #64527520.

New in Android Studio 3.0 Beta 1 (Aug 10, 2017)

  • This release includes various bug fixes, including the following:
  • Fixed an issue where using the Kotlin plugin crashes with a classloading issue.
  • Fixed an issue where the menu bar no longer appears. (Issue #63743086)

New in Android Studio 3.0 Canary 9 (Aug 2, 2017)

  • Various bug fixes.
  • KNOWN ISSUES:
  • Menu bar disappears. (Issue #63743086)
  • You can no longer create new Google cloud modules–working as intended. (Issue #63974954):
  • Existing App Engine modules will continue to work.
  • For new projects, use Firebase. To learn more about integrating your Android Studio project to Firebase, read Connect to Firebase.

New in Android Studio 3.0 Canary 8 (Aug 1, 2017)

  • Fixes the following issues:
  • Issue #63586454: JavaUastLanguagePlugin may fail to translate a PsiMethod to a UMethod
  • Issue #63562276: Resizing widgets in LinearLayout has weird behavior
  • Issue #38236114: Edittext input type dialog does not fit screen
  • Issue #63295952: extractProguardFiles task is not incremental
  • Issue #37334887: Layout editor: some view properties have insufficient field height
  • Issue #63623801: ResourceNotFoundException thrown when deploying a Kotlin project to an AVD running API 16

New in Android Studio 3.0 Canary 7 (Jul 18, 2017)

  • Changes:
  • Specify matching build types. If a consumer (such as an app module) defines a build type that does not exist in a producer dependency (such as a library module), the variant-aware dependency resolution model won’t know which version of the producer to use and your build fails with the following error:
  • Error:Failed to resolve: Could not resolve project :mylibrary.
  • Fixes:
  • 63623801 ResourceNotFoundException running Kotlin project on API 16 AVD after upgrading to Canary 6
  • 37111818 Layout Editor cannot edit widget margins in RelativeLayout
  • 63252394 Android studio 3.0 canary build variants auto resolving error

New in Android Studio 3.0 Canary 6 (Jul 12, 2017)

  • Fixes:
  • Fixed an issue that caused java.io.IOException to be thrown due to broken R.txt.
  • Fixed an issue that prevented you from updating the Kotlin IDE plugin. (issue #62697211)
  • Fixed an issue that caused captured memory allocations to not display when using the Memory Profiler.
  • Fixed an issue where you need to invoke Code > Convert Java to Kotlin twice before the IDE converts your code.
  • Known Issues:
  • IDE is not showing gradle upgrade plugin version dialog after close and reopen older plugin version project
  • IDE error "Invalid file" while deleting kotlin or java class files
  • Kotlin configure yellow ribbon does not show up until the file reopens after converting
  • IDE fatal error "java.util.NoSuchElementException" while removing copy pasted code from kotlin
  • IDE fatal error "Project is not yet initialized" while cloning desugar project
  • Attaching to debugger fails while working the combination of c++,kotlin and instant app enabled
  • Instant Run currently does not work with Gradle build cache. To use Instant Run, make sure you disable the build cache in your build.properties file: org.gradle.caching=false

New in Android Studio 3.0 Canary 5 (Jul 1, 2017)

  • The flavorSelection property has moved to the ProductFlavor class. This means that you can choose the default variant your app consumes from a producer at the flavor level.
  • Specifying PNG crunching is now a BuildType property and is disabled by default on debug builds.
  • Android Gradle plugin is now based on Gradle 4.1 milestone 1. To update your project manually, add the following to your gradle-wrapper.properties file:
  • distributionUrl=https://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip

New in Android Studio 2.3.3 (Jun 9, 2017)

  • This is a minor update to add support for Android O (API level 26).

New in Android Studio 3.0 Canary 3 (Jun 6, 2017)

  • This release has fixes to Gradle, Kotlin, and many other fixes.

New in Android Studio 3.0 Canary 2 (May 27, 2017)

  • Includes fixes focused on:
  • Kotlin support
  • APK Analyzer
  • Android Profilers
  • Android Instant Apps
  • Android Gradle plugin
  • Native / C++ Issues

New in Android Studio 2.4 Preview 7 (Apr 29, 2017)

  • Beyond closing Android studio bugs we have merged IntelliJ 2017.1.1 into Android Studio.

New in Android Studio 2.3.2 (Apr 27, 2017)

  • AVD Manager updates to support Google Play in system images.
  • Bug fixes for NDK builds when using R14+ of the NDK.

New in Android Studio 2.4 Preview 6 (Apr 14, 2017)

  • Fixes:
  • Issue 335265: New Project Wizard: Create a new C++ project doesn't load in new window when cmake is not installed
  • We continue to take more fixes and will try to include IntelliJ 2017.1.1 as part of a future preview.
  • Known Issues:
  • Bug 360341: It appears we may have a regression in C++ from Android Studio Preview 4 to Preview 5 that persists in Preview 6. We are looking into it and hope to have a fix in Preview 7.

New in Android Studio 2.3.1 (Apr 5, 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.

New in Android Studio 2.4 Preview 4 (Apr 4, 2017)

  • Build:
  • Java 8 language features support. This preview release introduces built-in support for Java 8 libraries and certain Java 8 language features. Jack is no longer required, and you should first disable Jack to use the improved Java 8 support built into the default toolchain. For more information see how to use Java 8 language features.
  • Deploy and Test:
  • The Google Play store app is now included in Android 7.0 (API 24) emulator system images. You will need to create a new Android Virtual Devices and select a hardware device configuration compatible with the Google Play Store.

New in Android Studio 2.4 Preview 2 (Mar 17, 2017)

  • Software Updates should now notifying you correctly and only when there are updates.
  • Mac builds should be signed fully and no longer present a warning.
  • Patching should be working again making it easier to move to preview 3.

New in Android Studio 2.4 Preview 1 (Mar 15, 2017)

  • Code:
  • In Android Studio 2.4 Preview 1 we upgraded the base IDE from IntelliJ 2016.2 to 2017.1 EAP, which adds a number of new features in 2016.3 and 2017.1 -- including parameter hints, semantic highlighting, instant results in search, and much more.
  • Many new lint checks.
  • Instant Run:
  • Instant Run Debug Issue 234401 should now be resolved. If a program is paused on breakpoint, app restarting is expected. But if the app is not paused on a breakpoint, it shouldn’t restart and hot swap should work when you only make a method implementation change.
  • Build:
  • Incremental dex’ing. Dex’ing is now done at a per class level. This allows for more incrementality and will result in faster incremental builds. You should also expect improved build speeds for applications using legacy multi-dex (minSdkVersion < 21).
  • Dependency resolution at execution time. In previous versions, dependency resolution occurs during Gradle configuration time. By moving dependency resolution to execution time, you should expect improved configuration times for large projects.
  • IDE:
  • Android Studio on the mac will now be called “Android Studio 2.4 Preview.app” to make it easier for you to run 2.3 stable with the new previews side by side.
  • Device File Explorer - Seamlessly view, modify and interact with device filesystems directly in Android Studio. This feature replaces device filesystem interactions previously accomplished through DDMS (Dalvik Debug Monitor Server).
  • Known Issues:
  • If you check for updates it will tell you there is a new version of Android Studio 2.4 Preview 1 (build 171.3804684). This is the same build you already have installed. Please don't try to download it again. We will have a fix included in Android Studio 2.4 Preview 2.
  • Mac builds may prompt you saying it can't be opened because it is from an unidentified developer. The zip appears to signed, but has issues. We will update it in Preview 2. If you want to try it in preview 1, please right click and select open.

New in Android Studio 2.3 (Mar 3, 2017)

  • Primarily a bug fix and stability release, but it also includes a number of new features.
  • 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.
  • For more information, see Build a Responsive UI with ConstraintLayout.
  • 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 @RestrictTo annotation for methods, classes, and packages lets you restrict an API. The updated @VisibleForTesting annotation now has an optional otherwise argument 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 the otherwise option 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_INT Checks: Android Studio removes obsolete code that checks for SDK versions.
  • Object Animator Validation: Lint analyzes your code to make sure that your ObjectAnimator calls reference valid methods with the right signatures and checks that those methods are annotated with @Keep to prevent ProGuard from renaming or removing them during release builds.
  • Unnecessary Item Decorator Copy: Older versions of the RecyclerView library 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 WifiManager with Context.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 use Context.getApplicationContext() to get the proper context for the initialization.
  • Improved Resource Prefix: The existing resourcePrefix lint check had many limitations. You can now configure your project with a prefix, such as android { 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 named MyLibTheme, 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 minSdkVersion setting. 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 minSdkVersion setting 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.
  • 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 will be made available soon on GitHub.
  • The Run/Debug option is no longer available when you right-click a *.gradle build script.
  • All templates now use ConstraintLayout as the default layout.
  • The Widgets palette in the Layout Editor has been redesigned.

New in Android Studio 2.3 RC 1 (Feb 18, 2017)

  • This build contains a small set of important bug fixes:
  • Gradle: https://code.google.com/p/android/issues/detail?id=233777
  • Layout editor: https://code.google.com/p/android/issues/detail?id=234221
  • Layout editor logging to help us track down https://code.google.com/p/android/issues/detail?id=230567

New in Android Studio 2.3 Beta 4 (Feb 10, 2017)

  • Includes a several updates, bug fixes, and performance improvements.

New in Android Studio 2.3 Beta 3 (Jan 26, 2017)

  • Fixed Issues:
  • Instant Run: We continue to get Instant run feedback and improve the service. Please continue sending us feedback. Many of these issues do not link back to public bugs in our tracker to ensure the feedback stays secure. Some of the fixes we can share are: 232439, 232529, 232060, 231842, 231658, 231563, 231563
  • Layout - Many fixes to constraint layout as well as general layout issues including: 232530, 232516, 232499, 232094, 231006, 231460, 231474, 230567, 230183, 231647
  • Build Fixes: 230471, 229171, 228047, 232043, 232803, 231501, 232043, 231557, 231559
  • Native C++: 232163
  • Lint: 231978, 232156, 232383, 232158,
  • Debugging: Issue 231497 - ANR and Instant Run: We are adding a workaround for it in beta 3 and will have a full solution in the next major update of Android Studio.
  • General IDE fixes: 231131

New in Android Studio 2.3 Beta 2 (Jan 11, 2017)

  • New or Noteworthy Changes:
  • Moved to Gradle 3.3 Stable from 3.3 RC1 in Android Studio 2.3 Beta 1
  • If you do native development, please also update LLDB to 2.3.3614996
  • Fixed Issues:
  • Performance Improvements in Project Sync and general Gradle integration with the IDE.
  • App Indexing
  • Lint Fixes
  • And a few General updates

New in Android Studio 2.3 Beta 1 (Dec 16, 2016)

  • Includes a several updates, bug fixes, and performance improvements.

New in Android Studio 2.3 Canary 3 (Dec 13, 2016)

  • Includes a few updates, bug fixes, and performance improvements.

New in Android Studio 2.2.3 (Dec 7, 2016)

  • Highlights:
  • 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 aaptOptions IgnoreAssetsPattern not working properly (http://b.android.com/224167)
  • Bug fix for Gradle autodownload for Constraint Layout library (http://b.android.com/212128)
  • Bug fix for a JDK8/Kotlin compiler + dx issue (http://b.android.com/227729)

New in Android Studio 2.3 Canary 2 (Nov 23, 2016)

  • Below are highlights of some of the major changes in this release:
  • Lean Navigation Updates
  • We have an updated toolbar with the AVD & SDK Manager icons for those who just use the lean Navigation Toolbar and not the full Toolbar.
  • Updated Toolbar with AVD and SDK Manager icons
  • Fixed bugs:
  • Applying Patches from Android Studio Canary 1 was broken. A fix should be in Canary 2 going forward. (SDK Patches continue to be broken and we are still working on a fix for this new feature.)
  • Android Studio and the Kotlin plugin should now be functional again.
  • Many other bug fixes as well.

New in Android Studio 2.3 Preview (Nov 11, 2016)

  • IDE: We've upgraded the base IDE from IntelliJ 2016.1 to 2016.2, which adds a number of new features -- ligatures, breadcrumbs, editor background images, revamped UI for inspections, notifications and the debugger, and more.
  • Layout Editor: The layout editor now supports chains and ratios for ConstraintLayout.
  • Lint: Lint now has "baseline support" which lets you check in a current set of warnings -- and from now on, only new issues are reported. This lets a project with a lot of technical debt set a baseline and then break the build only when new issues are introduced, without having to go and fix all existing issues first. In order not to forget about the technical debt though it creates an info-level issue which tells you that you've filtered out bugs.
  • WebP: Android Studio 2.3 now provides PNG to WebP Conversion. With the new conversion wizard, you can quickly generate WebP images and if you're using the lossy encoding, inspect the diffs of your images. Using WebP images in your app saves APK space and is more performant. Learn more about the new WebP Support in this tech doc.
  • Data Binding: In addition to a lot of bug fixes in the editing support for data binding, there is a new feature to help debug apps using data binding. Normally the IDE will automatically compute the data binding classes "on the fly" such that they are always correct and up to date with your edits in the XML files. However, when you are debugging your app, you may want to see and step into exactly the code that was compiled.
  • Pixel and Pixel XL: Pixel and Pixel XL device definitions added to the Layout Editor and AVD Manager to help test your app with Android 7.1 Developer Preview Release.
  • Incremental SDK Updates: This version of Studio includes support for incremental patching of SDK components, such as system images. We can now provide patches for system images (which are often very large) and updating those with Studio 2.3 will allow a much smaller and faster download.
  • Bug Fixes. A notable & highly requested enhancement (b.android.com/220197) we also added is a search box to the Vector Asset Wizard You can now quickly filter through the vector icons based on the name of the asset.
  • Build System: Support for the new Gradle plugin 2.3.0. There are some notable changes:
  • The user cache for dex files is now enabled by default, which should speed up builds
  • Configuration times for very large projects should be significantly faster
  • For Instant Run, the "startup delay" (where large apps stall for a few seconds at startup) should be gone
  • Instant Run is using "APK Splits" when targeting Android N which is a bit more reliable than the classloader tricks it uses to target older platforms

New in Android Studio 2.2.2 (Oct 20, 2016)

  • Contains a handful of bug fixes on top of Android Studio 2.2.1
  • Fixed Issues:
  • Instant Run bug fixes
  • Gradle Plug-in Bug fixes
  • 32-bit JDK for use on 32-bit Windows
  • New Features:
  • Android API 25 Support - Basic support for API 25 inside Android Studio to support the Android 7.1 developer preview. We know there are still a few more updates inside Android Studio before we set API 25 as the default.
  • Expanded reporting when reporting Instant Run issues - When reporting an instant run issue we now collect

New in Android Studio 2.2.1 (Oct 13, 2016)

  • Fixed Issues:
  • An Updated JDK to address multiple issues with MacOS Sierra
  • Improves the Native (C++) Development experience by resolving multiple critical bugs
  • Several Instant Run and Gradle Bug Fixes
  • Multiple issues in data binding
  • New Features:
  • Improved Reporting for Instant Run Issues: Some of you have been reporting issues with Instant Run, but it has been hard for us reproduce them. We have added extra logging to help us investigate Instant Run issues. This extra logging is OFF by default, and to enable it, go to Settings or Preferences, go to Build, Execution, Deployment > Instant Run, and check Log extra info is check. Next time you encounter an Instant Run issues, you can report it by clicking Help > Report Instant Run Issue...

New in Android Studio 2.2.1 Beta (Oct 8, 2016)

  • Fixed Issues:
  • An Updated JDK to address multiple issues with MacOS Sierra
  • Improves the Native (C++) Development experience by resolving multiple critical bugs
  • Several Instant Run and Gradle Bug Fixes
  • Multiple issues in data binding
  • New Features:
  • Improved Reporting for Instant Run Issues: Some of you have been reporting issues with Instant Run, but it has been hard for us reproduce them. We have added extra logging to help us investigate Instant Run issues. This extra logging is OFF by default, and to enable it, go to Settings or Preferences, go to Build, Execution, Deployment > Instant Run, and check Log extra info is check. Next time you encounter an Instant Run issues, you can report it by clicking Help > Report Instant Run Issue...

New in Android Studio 2.2 (Sep 19, 2016)

  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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)

New in Android Studio 2.2 RC 2 (Sep 9, 2016)

  • Fixed Issues:
  • Layout Editor: There is a resolved bug in the layout editor's property sheet with editing style appearance properties (it will strip the @style prefix).
  • Patching: You should now be able to patch from Sable versions back to 2.0.
  • Many more fixes.

New in Android Studio 2.2 RC (Sep 2, 2016)

  • This build contains a handful of bug fixes on top of beta 3.

New in Android Studio 2.2 Beta 3 (Aug 28, 2016)

  • A fix to instant run instrumentation now requires the SDK platform corresponding to the device API level to be installed. For example, if you are running on a lollipop device, you must have the lollipop SDK installed as well.

New in Android Studio 2.2 Beta 2 (Aug 19, 2016)

  • Unit Test and Test Issues generally should now be working again.
  • Gradle and Gradle Plugin Bug Fixes including around pro guard and native development
  • More bug fixes

New in Android Studio 2.1.3 (Aug 16, 2016)

  • Adds compatibility with Gradle 2.14.1, which includes performance improvements, new features, and an important security fix.

New in Android Studio 2.2 Beta 1 (Aug 12, 2016)

  • This build contains a large number of bug fixes as we work to reach Android Studio 2.2 RC:
  • Constraint Layout and New Layout Editor Bug fixes
  • Improvements to the interaction between Gradle 2.14.1 and Android Studio 2.2.
  • Instant Run and Build Bug Fixes
  • Memory performance improvements

New in Android Studio 2.2 Preview 7 (Aug 2, 2016)

  • Layout Editor improvements and bug fixes
  • Support for the latest version of Gradle (2.14.1) with Android Studio
  • Continued Instant Run bug fixes
  • Native / C++ improvements including: issue 21555: cannot resolve C/C++ symbols anymore which missed the Preview 6 release.

New in Android Studio 2.2 Preview 6 (Jul 19, 2016)

  • This build contains bug fixes primarily around Performance and Instant run with a number of other general improvements:
  • Performance: We addressed a number of crashes that were introduced in Preview 5 and prior previews.
  • Other: Several other fixes across the product - in instant run, deployment, lint, C++/CMake/NDK support, etc.

New in Android Studio 2.2 Preview 5 (Jul 9, 2016)

  • Performance: We fixed two big memory leaks -- one related to Gradle sync and the other related to layout rendering; both should help significantly with memory usage. We also improved the locking behavior of layout XML preview so it shouldn't cause the editor to lag when typing during background layout preview rendering.
  • Other: A lot of fixes across the product - in deployment, editor, data binding, C++/CMake/NDK support, lint, Espresso test runner, Firebase, etc.
  • Updated platform metadata for Android Nougat (e.g. code completion for context.getSystemService() should return all the valid constants as of N, etc.)
  • Fixes for the most common exceptions reported via the crash reporter
  • Instant Run: A number of important bug fixes which should help with performance and correctness:
  • Fixed a bug where assets were not properly packaged
  • Disable the small optimization where edits in the main app module skip certain tasks: this was not safe and could lead to some edits missing when running the app
  • Fix a bug which meant assets would not be incrementally packaged in alpha4
  • No longer crunch PNGs in library dependencies
  • Fix bug where updating launcher icons would not trigger an app reinstall
  • The resize screen feature has been tweaked visually and should be much faster.
  • The screenshot action has been added back to the Context menu, and there is a preference panel in options where you can set the "prefer XML editor for layout files" option as in previous releases.
  • Lint icons no longer show up on the design surface by default, but you can turn them back on via options (including from the lint notifications panel.)
  • PhotoShop file support: Layers in 16 bit and 32 bit images are now decoded
  • Fixed many bugs, including the bug starred by a bunch of users where on Windows, include tags would stop working
  • Layout Editor:
  • Auto connect mode is now off by default.
  • New constraint layout library version alpha4.
  • There's a lint warning (and quickfix to update) if you're using alpha3 or older.
  • The focus of the update is on layout performance.
  • There's also documentation on the various attributes, and code completion should work better with this version in the IDE
  • Note: There is an incompatible change in the Guideline class and attributes: layout_constraintGuide_begin, layout_constraintGuide_end and layout_constraintGuide_Percent

New in Android Studio 2.2 Preview 4 (Jun 23, 2016)

  • Instant Run:
  • Many bug fixes, we are working hard to address all reproducible issues. Please continue to file them.
  • Lint:
  • Bug Fixes for 209384, 213630, 212479
  • Updated JDK for Mac:
  • Mac JDK updated to include all fixes from Jetbrains over the last month or so. We hope that it fixes crashes like https://code.google.com/p/android/issues/detail?id=213742.
  • ConstraintLayout Editor:
  • Various bug fixes
  • Pan & zoom panel is now a floating window accessible from the toolbar
  • Importing VectorDrawable from Photoshop files:
  • Strokes are now supported
  • Clipping masks are now supported
  • Shape operations are now supported (merge, subtract, intersect and exclude overlapping)
  • Fill opacity is now supported
  • XML output optimized for size
  • Photoshop files support:
  • Improved support for CMYK and Lab images
  • Color management:
  • Improved color management on OS X
  • Firebase Plugin:
  • Bug Fixes
  • Improved Directions.

New in Android Studio 2.2 Preview 3 (Jun 9, 2016)

  • ESPRESSO TEST RECORDER:
  • Demo of the Espresso Test Recorder shown at IO is now included in Preview 3
  • CONSTRAINT LAYOUT:
  • ConstraintLayout editor:
  • New toolbar UI
  • Pan & zoom widget in the inspector
  • Better auto-inference
  • Databinding support in the layout editor
  • ConstraintLayout:
  • Fixed padding bug
  • Various bug fixes (design mode positioning, etc.)
  • Images support:
  • Photoshop viewer integrated in Android Studio
  • Convert Photoshop files to Vector Drawable
  • Many other bug fixes.

New in Android Studio 2.1.2 (Jun 6, 2016)

  • Includes a number of small changes and bug fixes:
  • Instant Run updates and bug fixes
  • Improved performance in LLDB and a notification in studio when there are LLDB crashes.
  • Git rebase command now works with Android Studio’s latest security update.
  • And a few additional general fixes

New in Android Studio 2.1.2 Beta (Jun 4, 2016)

  • Includes a number of small changes and bug fixes:
  • Instant Run updates and bug fixes
  • Improved performance in LLDB and a notification in studio when there are LLDB crashes.
  • Git rebase command now works with Android Studio’s latest security update.
  • And a few additional general fixes

New in Android Studio 2.2 Preview 2 (May 27, 2016)

  • THIS BUILD CONTAINS A NUMBER OF FIXES FOR VARIOUS CRITICAL BUGS FOUND IN PREVIEW 1:
  • Fixed bug preventing the IDE from starting on some Linux distributions (in particular where /bin/sh is not bash)
  • Export Signed APK wizard was exporting to the wrong folder (issue 210520)
  • Fixed bug in welcome screen which meant some users couldn't create new projects
  • Fixed embedded JDK handling
  • Fixed a bug bugs in the native/hybrid debugger
  • Disabled a couple of Groovy inspections that reported incorrect errors in build.gradle files
  • Fixed an instant run bug which for some users resulted in every run turning into a full build
  • Fixed a couple of crashes in lint (in the new Gradle plugin, 2.2 alpha 2)
  • A bunch of improvements to the accessibility support
  • ConstraintLayout: version 1.0.0-alpha2:
  • Fixed guidelines crash on device
  • Fixed typo in attribute name (leftToLeft)
  • Changed orientation attribute namespace from app to android to fix a conflict with GridLayout
  • ConstraintLayout now works properly inside ScrollView
  • ConstraintLayout now works properly inside RecyclerView
  • Percentage positioning of guidelines is now parsed as an integer instead of a dimension
  • Better behavior for match_parent on the device. The behavior is now the same as 0dp (the widget stretches according to its constraints)
  • Layout Editor:
  • Fixed bug which sometimes turned fonts blue in other editors (.xml, .java)
  • Fewer generated XML attributes
  • Better behavior for match_parent in the editor
  • Fixed widgets resizing during drag
  • Improved guidelines representation in the editor
  • Improved auto conversion to ConstraintLayout
  • Improved edition of nested layouts
  • Various bug fixes and improvements in the editor

New in Android Studio 2.2 Preview 1 (May 18, 2016)

  • A new layout designer and constraints layout - Now, you use the layout window like a sheet of paper where you position widgets, and we automatically add all the constraints so that your UIs resize automatically on any Android screen.
  • Firebase Plugin - Explore and integrate the suite of services offered by Firebase inside of Android Studio. Adding services like Analytics, Authentication, Notifications, and AdMob are just a few clicks away.
  • IntelliJ & CLion 2016.1 - Android Studio 2.2 includes all the latest updates from the underlying JetBrains product platforms IntelliJ and CLion.
  • Also expanded support for N’s new Jack compiler which brings you Java8 language features like lambdas and default methods.

New in Android Studio 2.1.1 (May 11, 2016)

  • This fixes a serious security vulnerability in all older versions of Android Studio.

New in Android Studio 2.1 (Apr 26, 2016)

  • The primary changes in this update provide support for development with the Android N Preview.
  • 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:
  • 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).

New in Android Studio 2.1 RC (Apr 24, 2016)

  • Fixes a couple of important bugs reported in Beta 3.

New in Android Studio 2.1 Beta 3 (Apr 19, 2016)

  • Addresses a critical bugs in in beta 2.

New in Android Studio 2.1 Beta 2 (Apr 15, 2016)

  • Fixes a critical bug in the git support

New in Android Studio 2.1 Beta (Apr 13, 2016)

  • Support for Android N preview; other than that, the release is nearly identical to the 2.0 stable release from last week, but with a few extra bug fixes and some tweaks to Instant Run performance.

New in Android Studio 2.0 (Apr 7, 2016)

  • New features that Android developer can use in their workflow:
  • Instant Run - For every developer who loves faster build speeds. Make changes and see them appear live in your running app. With many build/run accelerations ranging from VM hot swapping to warm swapping app resources, Instant Run will save you time every day.
  • Android Emulator - The new emulator runs ~3x faster than Android’s previous emulator, and with ADB enhancements you can now push apps and data 10x faster to the emulator than to a physical device. Like a physical device, the official Android emulator also includes Google Play Services built-in, so you can test out more API functionality. Finally, the new emulator has rich new features to manage calls, battery, network, GPS, and more.
  • Cloud Test Lab Integration - Write once, run anywhere. Improve the quality of your apps by quickly and easily testing on a wide range of physical Android devices in the Cloud Test Lab right from within Android Studio.
  • App Indexing Code Generation & Test - Help promote the visibility your app in Google Search for your users by adding auto-generated URLS with the App Indexing feature in Android Studio. With a few click you can add indexable URL links that you can test all within the IDE.
  • GPU Debugger Preview - For those of you developing OpenGL ES based games or apps, you can now see each frame and the GL state with the new GPU debugger. Uncover and diagnosis GL rendering issues by capturing and analyzing the GPU stream from your Android device.
  • IntelliJ 15 Update - Android Studio is built on the world class Intellij coding platform.

New in Android Studio 2.0 RC 3 (Apr 6, 2016)

  • This build incorporates a single fix for vector drawable where in some situations your vector drawable images would build all black shapes.

New in Android Studio 2.0 RC 2 (Apr 4, 2016)

  • This build incorporates several more fixes for Instant Run, which is working at parity with 1.5.1. With Instant Run enabled (on by default), the first full build will be slightly slower than 1.5.1 as we create multiple dex files. Subsequent incremental builds will be much faster than 1.5.1. Full and incremental builds will be slightly faster than 1.5.1 even if you disable Instant Run due to optimizations we’ve made -- but enable Instant Run for max performance. If you want more information on Instant Run, be sure to check out the updated Instant Run documentation at https://sites.google.com/a/android.com/tools/tech-docs/instant-run.

New in Android Studio 2.1 Preview 5 (Apr 1, 2016)

  • Incorporates a number of Instant Run bug fixes from the 2.0 release branch (released in 2.0 Release Candidate 1 yesterday), along with a handful of 2.1-only additional fixes. A number of developers have asked what the difference is between 2.0 and 2.1.
  • In short:
  • 2.0 is nearly done; release candidate 1 was posted yesterday
  • 2.1 is basically just 2.0 plus fixes to support the Android N Preview SDK.

New in Android Studio 2.0 RC 1 (Mar 30, 2016)

  • This build incorporates several more fixes for Instant Run, which is working at parity with 1.5.1. With Instant Run enabled (on by default), the first full build will be slightly slower than 1.5.1 as we create multiple dex files. Subsequent incremental builds will be much faster than 1.5.1. Full and incremental builds will be slightly faster than 1.5.1 even if you disable Instant Run due to optimizations we’ve made -- but enable Instant Run for max performance. If you want more information on Instant Run, be sure to check out the updated Instant Run documentation.

New in Android Studio 2.1 Preview 4 (Mar 25, 2016)

  • This build incorporates more bug fixes for Instant Run. There are a couple of small UI changes: there is a "Rerun" action in the toolbar next to run, which lets you build and restart the process with one click (or keyboard shortcut). And in the Build menu there is a "Clean Rerun" action which performs a full clean, build, install and run.

New in Android Studio 2.1 Preview 3 (Mar 16, 2016)

  • This build incorporates a number of fixes to support the Android N Preview SDK, as well as incorporating all the Instant Run and other IDE fixes from 2.0 Beta 7

New in Android Studio 2.0 Beta 7 (Mar 16, 2016)

  • Fixes a few more user reported bugs related to Instant Run (in particular, faster builds on Windows, better support for multi-process apps, handle multiple activities better, and a few correctness fixes)

New in Android Studio 2.1 Preview 1 (Mar 9, 2016)

  • Minor update to Android Studio 2.0 (beta channel) that includes changes to improve support for Java 8 and the new Jack compiler. To use Java 8 language features when developing with the Android N Preview, you currently need to use the Jack compiler provided with Android Studio 2.1. An updated New Project wizard also generates the correct configuration for projects targeting the Android N Preview.
  • Android Studio 2.1 also improves support for the latest Android Emulator 2.0 Beta, which provides the best performance with the Android N Preview system image.

New in Android Studio 2.0 Beta 6 (Feb 26, 2016)

  • FIXES A COUPLE OF IMPORTANT BUGS RELATED TO INSTANT RUN:
  • Apps that were using multiple processes (via android:process in the manifest) were not being updated properly with Instant Run. For the time being, we have turned off Instant Run in such a scenario.
  • Certain devices that have an incorrect version of the “run-as” command behaved incorrectly with instant run. This would manifest as instant run being unable to upload a new version when the application wasn’t running. We now properly handle this scenario and gracefully degrade to doing a full apk installation.
  • Instant Run was not working properly if the application was in the background. We now do the correct updates in such a scenario - the application will be terminated and restarted.
  • We automatically turn off Proguard or Jacocco when used with Instant Run.
  • Applications using android-annotations are now compatible with InstantRun.
  • During hot swaps, initial code and incremental updates are no longer loaded from a different class loader
  • Handling of native libraries :
  • changing source code of a native library should trigger a coldswap.
  • hotswap can lead to UnsatisfedLink exceptions

New in Android Studio 2.0 Beta 5 (Feb 19, 2016)

  • Fixed a number of critical bugs in Instant Run -- from apps not showing the most recent changes, to apps crashing, to apps getting passed weird intent data.
  • Note that you need to use the latest version of Gradle and Studio together, and in this build we automatically update the Gradle version if already using a previous non-stable (e.g. 2.x) preview version.
  • Note also that all Instant Run settings have been reset to their defaults in this build. The reason we had to do this is in beta4 is that these settings were actually per project settings, not per user. But this is not what many users expected (so they'd tweak the settings in one project and then be surprised when in another project the values were different). To fix this we've changed the settings to be per user instead. However, that moves the storage location for the settings, which is why the values are all reset. Go to Settings > Build, Execution, Deployment > Instant Run if you want to tweak them again.

New in Android Studio 2.0 Preview Beta 5 (Feb 17, 2016)

  • This build fixes a couple of important bugs related to instant run:
  • Turn off Gradle's javac incremental compilation in all scenarios. In previous builds we had turned it off when using annotation processors, but it turns out there are still some bugs where resource constant field changes are not propagated correctly, which led to runtime crashes after restarting the app. This may sound like a big performance sacrifice, but it's not: the javac stage is typically a small part of the build (which is dominated by dex and adb push and install) -- and note version 1.5.x of the Gradle plugin wasn't using incremental javac compilation at all.
  • Change the way the app is restarted after making an incompatible change (a "coldswap"). The technique we were using resulted in some state being persisted across app runs, which could lead to crashes or unexpected intent data.

New in Android Studio 2.0 Preview Beta 4 (Feb 12, 2016)

  • Bug fixes included:
  • A bug related to cold swap which meant that in many cases after restarting the app, it might be executing stale code, not the latest changes
  • A bug related to updating resources, where sometimes drawable changes (bitmaps and vectors) would not correctly show
  • A bug fix for users of Retrolambda Gradle plugin (disable Gradle javac incremental compilation)
  • A bug where switching between variants would sometimes confuse Instant Run
  • More gracefully handle a scenario where pushing files to the device via adb fails on some devices
  • Additional fixes to speed up Gradle full builds when projects have a large number of dependencies
  • Fix for a Dalvik verifier error when calling super methods with short or byte types

New in Android Studio 2.0 Preview Beta 3 (Feb 11, 2016)

  • Fixes a number of issues in beta 2.

New in Android Studio 2.0 Preview Beta 2 (Feb 5, 2016)

  • Fixes an Instant Run related bug we discovered right after rolling beta 1 out.
  • Fixed several critical issues that have prevented builds from working for a number of users in earlier previews:
  • Performance regression: Many users reported that the initial build in 2.0 was much slower than in 1.5. Turns out this was related to the way we packaged all dependencies into a single dex file (since those are unlikely to change for Instant Run purposes). However, this actually made dex much slower in some scenarios due to the way dex merging works internally.
  • Dagger2 and other annotation-processor based libraries and plugins: In 2.x we've been using the new "incremental Java compilation" feature in Gradle, but this feature does not work well with annotation processor. In beta2, we automatically turn off incremental compilation if a project appears to be using annotation processors through the "android-apt" plugin. Manually wired processors will still fail (see https://github.com/google/dagger/issues/298).
  • Also fixed a couple of other Instant Run bugs; see in particular the below notice about uninstalling your app once.
  • Finally, there were a couple of bugs in the SDK manager which prevented the IDE from starting if you had add-ons installed with multiple system images.

New in Android Studio 2.0 Preview 9 (Jan 31, 2016)

  • Completely turned off in-memory dexing by default. We've spent the last couple of previews trying to fine-tune it, but there are lingering issues which continues to affect users. This should hopefully make the builds work a lot better for many of you. (If things were already working well, you can continue with in-memory dexing by turning it on with android.dexOptions.dexInProcess=true.)
  • Also continued to fix various Instant Run scenarios; in particular, using APK splits on API 23 seems to trigger some platform bugs, so for now we've switched over to using multidex for coldswap for both Lollipop and Marshmallow.

New in Android Studio 2.0 Preview 8 (Jan 28, 2016)

  • This preview contains a number of important fixes relative to preview 7. In particular, a number of users have reported either really slow build times or failed builds using version 2.x of the Gradle plugin. The likely culprit for this is that in 2.x we've switched to perform dexing inside the build process, instead of running dex in an external process (because this not only makes incremental builds much faster, but also significantly speeds up full builds). However, the dex process had a larger default heap size than the Gradle daemon, which means that unless you've configured Gradle to run with more memory, the builds can be much more memory constrained which can severely slow down builds (or even make them fail running out of memory).
  • In 2.0.0-alpha8 we've added some automatic diagnostics for this: if the build process is too small, we switch back to out-of-memory dexing and emit a build warning explaining how to bump up the Gradle daemon size. (We're also working on some additional related improvements for the next build after alpha8.)
  • Preview 8 also continues to fix user reported bugs for Instant Run. Among a number of stability fixes, we've also turned off "cold swap" when running on a pre-Lollipop device; incompatible changes will trigger a normal/full build. "Hot swap" still works on all API levels >= 15.

New in Android Studio 2.0 Preview 7 (Jan 23, 2016)

  • This contains a number of bug fixes on top of preview 6, particularly in the Instant Run area (there is also a 2.0.0-alpha7 version of the Gradle plugin). This build also incorporates IntelliJ IDEA 15.0.3, which brings a number of critical IDE fixes from JetBrains.

New in Android Studio 2.0 Preview 6 (Jan 20, 2016)

  • bug fixes

New in Android Studio 2.0 Preview 4 (Dec 18, 2015)

  • The most notable change is an update to IntelliJ 15.0.2 in the base IDE, which picks up a number of fixes from JetBrains.
  • There are also some changes to support the next emulator preview build.

New in Android Studio 2.0 Preview 3 (Dec 10, 2015)

  • This build contains a large number of bug fixes, along with the following notable changes:
  • A new lint check which looks at switch statements used in concert with @IntDef integers, and makes sure that all constants from the @IntDef are handled.
  • Note that there is a quickfix for adding the missing statements as well, so after adding an empty switch statement this is a quick way to populate the initial set of case statements.
  • A new lint check which flags incorrect attempts to insert version numbers in Gradle file using String interpolation. This will automatically flag this "gotcha".
  • Lint now flags anonymous classes that extend Fragment.
  • Two new security lint checks contributed by Michael Peck: One which looks for native code in unsafe locations (such as asset folders), and another which flags Runtime.load() and System.load() calls.
  • The translation editor now supports speed search (and F2 to enter cell editing).
  • We've also tweaked the Instant Run facility such that when changes can't be hotswapped, there's a confirmation dialog before restarting the app. We'll be tweaking this in the next preview build.
  • Various improvements to the AVD Manager to support the new emulator,

New in Android Studio 1.5.1 (Dec 7, 2015)

  • Fixed bugs:
  • 194705: Fix incorrect lint warning about localized permission descriptions referenced by the manifest
  • 194612: Layout editor rendering failure: "The following classes could not be found: android.support.v7.internal.app.WindowDecorActionBar"
  • 194045: Fixed data-binding parsing of the percent operator
  • 191819: Fixed the contract in the vector asset studio icon preview window (and added Help topic)
  • 195167: Fix app launching bug where the debugger launched to the wrong device, as well as a null pointer exception in some scenarios

New in Android Studio 2.0 Preview 2 (Dec 4, 2015)

  • 195113: XML editor autocomplete does not add quotes when completing attributes
  • 195014: Studio won't start on Java 6 or 7 for users who have configured studio.vmoptions
  • Several instant run bugs (make sure you also update your Gradle plugin to 2.0.0-alpha2)

New in Android Studio 1.5 Beta (Nov 18, 2015)

  • The beta release contains only a few bug fixes relative to 1.5 Preview 2.

New in Android Studio 1.4.1 (Nov 18, 2015)

  • Fixed Gradle model caching bug (led to excessive Gradle syncing when the IDE was restarted)
  • Fix code completion performance issue when using libraries with private resources
  • Fix deadlock when using native debugging
  • Fix subversion 1.9 version validation
  • 189658: Do not attempt to validate if device chooser is not enabled
  • 188577: Fix missing translation detection for region overrides
  • 188070: Fix deadlock in the theme editor
  • 187726: Fix theme editor reload/edit conflict
  • 188055: Theme editor performance fix
  • 187665: launch compatibility: when looking at uses-feature, the "required" attribute is not taken into account

New in Android Studio 1.5 Preview 2 (Oct 22, 2015)

  • Reworked the build+deploy flow such that instead of first building with Gradle and then popping up the "choose a device" dialog, we now immediately ask for a device to push the APK to. Some users were using Run + Cancel to build an APK; we now added a separate "Build APK" action to the Build menu for that purpose.
  • There are several new lint checks and a bunch of bug fixes as well.

New in Android Studio 1.4 (Oct 1, 2015)

  • Design Tools:
  • Vector Assets:
  • Starting with API 21, you can use Vector Drawables for image assets. For most apps, using VectorDrawables decreases the amount of density dependent drawables you need to maintain, and will also give you sharp image assets regardless of the screen device densities your app supports.
  • With Android Studio 1.4, we are making the process of importing SVG images or Material icons much easier. If you update your Gradle Android plugin to 1.4.0-beta3 (or higher) in the project structure dialogue or your project build.gradle file ( 'com.android.tools.build:gradle:1.4.0-beta3' ), you can now use the new Vector Asset Studio by right-clicking the res/drawable folder in your project and selecting New → Vector Asset from the content menu.
  • We are also excited to offer backwards compatibility for your vector assets in Android Studio 1.4. Once you have a vectorDrawable image in your res/drawable, the Gradle plugin will automatically generate raster PNG images for API level 20 and below during build time. This means you only need to update and maintain your vector asset for your app project and Android Studio can take care of image conversion process. Note, it is still best practice to create density dependent launcher icons in your res/mipmap folder. Learn more by watching the DevByte video on the new Vector Asset Studio tool.
  • Theme Editor:
  • We understand that managing your app theme and style can be a bit complex. With Android Studio 1.4, we are releasing a preview of the Theme Editor to help with this task. This first version of the Theme Editor is focused on editing and updating the material theme colors (colors.xml) in your app project. In future releases, we will cover more attributes of your app theme and styles files. To access the editor, navigate from top level menu Tools → Android → Theme Editor.
  • Project Templates:
  • We know many of you use the New Project Wizard app templates to start a new app project or to quickly add an activity to an existing app. To help with the visual design of your apps, we updated the app templates to include the Android Design Support Library alongside the AppCompat Support library.
  • From the template wizard you can start projects with a basic blank template with a floating action button or start from a range of user interface components such as the navigation drawer, or AppBar with scrolling view. We also re-introduced the empty app template for those who want minimum code generation when adding an activity to your project.
  • With Android Studio 1.4, you can also validate your apps on the new Nexus 5X and Nexus 6P screen sizes.
  • Performance Monitors:
  • GPU Rendering Monitor:
  • Now it is possible to quickly inspect the GPU rendering performance of your app. To enable GPU monitoring, make sure you turn on monitoring for your Android hardware device or emulator under Setting → Developer Options → Profile GPU rendering → In adb shell dumpsys gfxinfo . To learn more about the GPU rendering results, check out the developer documentation.
  • Network Monitor:
  • With Android Studio 1.4, you can also monitor the network usage of your app. With the monitor you can track the transmit and receive rates of your app over time.
  • Developer Services:
  • Firebase:
  • It is now even easier to add a Firebase mobile backend to your Android app. Firebase includes data storage, user authentication, static hosting, and more. To access the feature, navigate from the top level menu and select File → Project Structure → Cloud. Learn more about Firebase in this tutorial.

New in Android Studio 1.4 RC 3 (Sep 27, 2015)

  • Contains just a couple of bug fixes.

New in Android Studio 1.4 RC 2 (Sep 24, 2015)

  • Contains bug fixes in a number areas -- the theme editor, the vector asset wizard, it fixes blurry icons in hi-dpi mode with fractional scaling, and it fixes miscellaneous exceptions reported via the crash reporter.

New in Android Studio 1.4 RC 1 (Sep 20, 2015)

  • Fixes for high-density displays on Linux (and in general, we have more information on how to configure high density displays for Windows and Linux in this document)
  • Many more fixes to the templates (activities, etc), visual refresh, and removed misc warnings
  • Vector icons displayed properly in the editor margin
  • Layout editor bug with duplicate id's in RelativeLayouts
  • Auto completion of upper-cased permission names in manifest files
  • Inferring nullity in multi-module project
  • Lint warns about missing platform-tools 23.0.1 (prevents properly API checking Android M calls) or using buildTools pre-23.0.1 (to prevent crashes on some devices for RTL attributes)
  • Fix build errors with vector image generation on OSX when using Java 6 to run the IDE and Java 7 to run the IDE ("Could not find class: apple.awt.CGraphicsEnvironment")
  • Fix git module configuration bug
  • Misc theme editor bugs
  • Misc crash reporter bugs

New in Android Studio 1.4 Beta 4 (Sep 15, 2015)

  • Fix icon-size scaling when using high-density displays
  • Relax the "spaces in path" error validation to be limited to NDK projects (where the command line tools still have some problems with spaces)
  • A few tweaks to the templates, including a fix to allow creating a new project without activities

New in Android Studio 1.4 Beta 3 (Sep 10, 2015)

  • This build contains a large number of bug fixes; we decided to reset the release branch to the dev branch to include the large number of high priority bugs and highly starred bugs we had fixed recently, including:
  • HiDPI/Retina display improvements for Windows and Linux
  • Logcat view mostly rewritten to address a number of stability and usability bugs
  • Bugs around XML validation and code completion inside custom views, as well as fixing a few bugs around source code formatting and the rename module refactoring
  • A lot of tweaks to the builtin templates, fixing compilation problems and removing deprecated APIs, as well as incorporating the design library
  • Workarounds for broken JDK installations, incompatible plugins, failed patch update loops, etc
  • Automatic attachment of sources for gradle dependencies
  • Over a hundred other bug fixes

New in Android Studio 1.3.2 Beta (Aug 21, 2015)

  • This build fixes a handful of bugs relative to 1.3.1 (183068, 178690, 182433, 183120), and updates the IDE with information about Android M.

New in Android Studio 1.4 Preview 3 (Aug 21, 2015)

  • This build fixes a handful of bugs relative to 1.3.1 (183068, 178690, 182433, 183120), and updates the IDE with information about Android M.
  • Adds a much larger number of bug fixes for user reported problems and crash reporter problems.

New in Android Studio 1.4 Preview 2 (Aug 15, 2015)

  • This build fixes a critical bug in the source editor which broke input method editing. There are fixes for a handful other problems discovered from user submitted crashes as well.

New in Android Studio 1.4 Preview (Aug 14, 2015)

  • A new theme editor, which helps you view, explore and edit your themes. (In this first version, only color and color state-lists are included.) You can access the theme editor from your styles.xml file.
  • Two new performance monitors, available from the Android Monitor tab: A GPU profiler, which graphs the GPU usage for the connected process, and a network profiler, which graphs the network usage for the connected process:
  • A new "Vector Asset" wizard which lets you create Android XML vector drawables from SVG files as well as import vector icons from the Material Design vector icon library. (There is also support on the way for generating PNG images from vector icons at build time; that's part of the Android Gradle plugin 1.4 which should be available in preview form soon.)
  • There are many new lint improvements: a new lint check which makes sure that the constants specified in @IntDef are unique, a new lint check which flags suspicious flag initialization syntax, a new lint check which flags suspicious combinations of XML prefixes and namespaces, a quickfix for API check warnings to surround the target method call with a version, the lint missing permission check now also looks for permissions required by Intent actions and ContentResolvers, and custom lint rules are now checked and displayed within Android Studio.
  • IDE quick fixes for configuring the project, which we disabled a while back since they did not properly update the Gradle build files, are now back and fully functional:
  • And in the C++ editor, there is basic support for Doxygen comments in code completion on APIs.

New in Android Studio 1.3.1 Beta (Aug 8, 2015)

  • A minor bug fix update addressing the following issues found in 1.3.0:
  • Creating Android Wear AVDs broken on Windows (b/22834707)
  • New Project Wizard ignores package name edits (181740)
  • "The SDK path is not writable": Allow the SDK directory to be read-only (181679)
  • Switch default Gradle plugin version for newly created projects from 1.2.2 to 1.3.0
  • Several fixes for LLDB debugging (details in 180819)
  • Fix Java package renaming to not involve OCHandler (180437)

New in Android Studio 1.3 (Jul 31, 2015)

  • Performance & Testing Tools:
  • Android Memory (HPROF) Viewer - Android Studio now allows you to capture and analyze memory snapshots in the native Android HPROF format.
  • Allocation Tracker - In addition to displaying a table of memory allocations that your app uses, the updated allocation tracker now includes a visual way to view the your app allocations.
  • APK Tests in Modules - For more flexibility in app testing, you now have the option to place your code tests in a separate module and use the new test plugin (‘com.android.test’) instead of keeping your tests right next to your app code. This feature does require your app project to use the Gradle Plugin 1.3.
  • Code and SDK Management:
  • App permission annotations - Android Studio now has inline code annotation support to help you manage the new app permissions model in the M release of Android. Learn more about code annotations.
  • Data Binding Support - New data brinding features allow you to create declarative layouts in order to minimize boilerplate code by binding your application logic into your layouts. Learn more about data binding.
  • SDK Auto Update & SDK Manager - Managing Android SDK updates is now a part of the Android Studio. By default, Android Studio will now prompt you about new SDK & Tool updates. You can still adjust your preferences with the new & integrated Android SDK Manager.
  • C++ Support - As a part of the Android 1.3 stable release, we included an Early Access Preview of the C++ editor & debugger support paired with an experimental build plugin. See the Android C++ Preview page for information on how to get started. Support for more complex projects and build configurations is in development, but let us know your feedback.

New in Android Studio 1.3 RC 4 (Jul 25, 2015)

  • This build fixes the following issues:
  • The LogCat window no longer switches to a different process when the current process dies (issue 161145)
  • Prevent "StartupAbortedException" for the IDE when there are foreign/conflicting .jar files in the JDK extensions directory (issue 180551)
  • Fix incorrect nullness information for Android SDK methods (requires File > Invalidate Caches) (issue 180771)
  • Include Andoid Gradle 1.3.0 in the offline Gradle plugin repository
  • Fix a handful of crashes reported by the crash reporter (in the setup wizard, AVD manager, and the memory profiler)

New in Android Studio 1.3 RC 3 (Jul 18, 2015)

  • Tweak the default IDE heap size to be a bit larger
  • Turn off EAP mode (reduces internal validation checks etc)
  • 77605: Fix false positive inspection for app indexing
  • Fix top crashes from the crash reporter:
  • 22523040: AssertionError in AppResourceRepository
  • 22530524: Fixing NPE in OCStringLiteralCopyPasteProcessor
  • 22519147: java.lang.Throwable in com.intellij.openapi.diagnostic.Logger

New in Android Studio 1.3 RC 1 (Jul 10, 2015)

  • Includes the preview of Android NDK C/C++ support!

New in Android Studio 1.3 Beta (Jun 20, 2015)

  • New Allocation Tracker
  • New Heap dump Viewer
  • Many new code inspections to enforce framework and support library threading annotations, range annotations, call super, check result, etc.
  • Missing permission checks and unhandled revocable permission checks
  • Android M preview data binding Support
  • Support for adding Google Services to the project in the project structure dialog (especially for Analytics)
  • SDK update notifications, and brand new integrated SDK manager UI
  • New quickfixes, such as automatic generation of a Parcelable implementation
  • Many built-in live code templates
  • Many other smaller features and bug fixes

New in Android Studio 1.2.2 Beta (Jun 10, 2015)

  • This is a small bug fix release which fixes a couple of critical issues:
  • 172523: Debugger fails at "Collecting data" and then hangs on "Waiting until last debugger command completes", especially when viewing the contents of a collection in the Variables pane
  • 175343: Update setup wizard such that it only installs the current stable release of the SDK tools, not the most recently available preview tools
  • Update the layout preview tools such that it only uses preview versions of layoutlib if your project is being compiled with a preview SDK

New in Android Studio 1.3 Preview 3 (Jun 10, 2015)

  • This is just a small bug fix update relative to 1.3 Preview 2 which fixes a few critical issues:
  • 172523: Debugger fails at "Collecting data" and then hangs on "Waiting until last debugger command completes", especially when viewing the contents of a collection in the Variables pane
  • 175343: Update setup wizard such that it only installs the current stable release of the SDK tools, not the most recently available preview tools
  • Update the layout preview tools such that it only uses preview versions of layoutlib if your project is being compiled with a preview SDK
  • 175135: Incorrect inspection for array size
  • Reduce flickering in the new SDK manager
  • Fix debugger resolution of resource integers for project-local resources
  • Prompt to update from build tools 23 rc1 to rc2

New in Android Studio 1.3 Preview 2 (Jun 2, 2015)

  • Bug fixes:
  • The lint check which incorrectly flagged missing "missing super method call" errors (issue 174964, shown below) has been fixed.
  • The Setup Wizard now longer installs the Android M preview by default; it installs the most recent stable version (currently API 22). You should only install and use the Android M preview (and buildtools 23-rc) if you are also going to use version 1.3.0-beta1 of the Android Gradle plugin.
  • The layout editor and layout preview windows only use the Android M preview layout library if the project is compiled with the M preview library.
  • Choosing the Design library from the Project Structure Dialog's Add Dependency feature now correctly adds 22:2 instead of 0:0 as the version.

New in Android Studio 1.3 Preview 1 (Jun 1, 2015)

  • Highlights:
  • New Allocation Tracker
  • New Heap dump Viewer
  • Many new code inspections to enforce framework and support library threading annotations, range annotations, call super, check result, etc.
  • Missing permission checks and unhandled revocable permission checks
  • Android M preview data binding Support
  • Support for adding Google Services to the project in the project structure dialog (especially for Analytics)
  • SDK update notifications, and brand new integrated SDK manager UI
  • New quickfixes, such as automatic generation of a Parcelable implementation
  • Many built-in live code templates
  • Many other smaller features and bug fixes
  • As announced at Google I/O, Android Studio 1.3 will include C/C++ support as well, but that is not included in the first couple of preview builds.

New in Android Studio 1.2.0.12 (May 1, 2015)

  • The IDE picks up all the new features from IntelliJ 14 and 14.1, such as
  • a new debugger which shows variable values inline in the editor, can decompile libraries you don't have source code for, and can generate a list of objects referring to a selected object
  • distraction free mode
  • simultaneous tag editing (where you can edit open and closing tags simultaneously)
  • editor enhancements like multiple selections, smart backspace indent, and automatic indentation detection for the current file
  • new and improved refactoring operations
  • annotation inference, scratch files, improved Gradle support, improved diff view, high-density monitor support, and many more features
  • There are some Android-specific enhancements as well:
  • Support for version 1.2-beta of the Gradle plugin
  • CPU monitor and performance collection capture view (described in the 1.2 Preview 2 announcement)
  • Improved BCP 47 support
  • Many bug fixes and a couple of additional lint checks

New in Android Studio 1.2 RC 3 (Apr 29, 2015)

  • This build incorporates the final release of version 1.2 of the Android Gradle plugin.

New in Android Studio 1.2 RC (Apr 22, 2015)

  • This build contains a small number of bug fixes relative to Beta 3.

New in Android Studio 1.2 Beta 3 (Apr 11, 2015)

  • Bug fix:
  • 163888: inter-module dependencies are not configured correctly

New in Android Studio 1.2 Beta 2 (Apr 10, 2015)

  • Fixed bug which caused Gradle sync to not run until manually invoked at least once. This resulted in lots of unresolved/red symbols in the editor. (Issue 163270)
  • Detect when the ibus-daemon is used on Linux and point to page with information for working around keyboard related issues
  • Fixed import from Eclipse project to move resource files from source folders into src/main/resources such that they are packaged correctly for runtime (issue 144355
  • Fixed symbol resolution for libraries that bundle artifacts (issue 161537), and correctly set dependencies on AARs exposed as artifacts (issue 162634)
  • Fixed bug where creating a new project had no visible feedback for 5-10 seconds (issue 162620)
  • Fixed bug where the IDE would hang if the Messages window had errors (issue 152828)
  • Fixed incorrect window parenting in the AVD manager (issue 163063)
  • Fixed a couple of bugs in the Android Wear templates (hardcoded package name, and incorrect wear module dependency)

New in Android Studio 1.2 Beta (Apr 3, 2015)

  • Updates Android Studio to be based on IntelliJ 14.1.1, released earlier this week. Relative to Android Studio 1.1, this means the IDE picks up all the new features from IntelliJ 14 and 14.1, such as
  • a new debugger which shows variable values inline in the editor, can decompile libraries you don't have source code for, and can generate a list of objects referring to a selected object
  • distraction free mode
  • simultaneous tag editing (where you can edit open and closing tags simultaneously)
  • editor enhancements like multiple selections, smart backspace indent, and automatic indentation detection for the current file
  • new and improved refactoring operations
  • annotation inference, scratch files, improved Gradle support, improved diff view, high-density monitor support, and many more features
  • See https://www.jetbrains.com/idea/whatsnew/ for more details.
  • There are some Android-specific enhancements as well:
  • Support for version 1.2-beta of the Gradle plugin
  • CPU monitor and performance collection capture view (described in the 1.2 Preview 2 announcement)
  • Improved BCP 47 support
  • Many bug fixes and a couple of additional lint checks

New in Android Studio 1.2 Preview 4 (Mar 26, 2015)

  • This updates the IDE to use the final release of IntelliJ IDEA 14.1.

New in Android Studio 1.2 Preview 3 (Mar 20, 2015)

  • This fixes several bugs in Android Studio, and also updates the underlying IntelliJ 14.1 platform to pick up all the features and fixes from the following two EAP builds.

New in Android Studio 1.2 Preview 2 (Mar 14, 2015)

  • In addition to bug fixes from last week's canary build, there are some notable features for the Android support:
  • Performance tools: The memory usage window is now included as a tab in the Android runtime window, and there is now a tab for graphing CPU usage as well. You can drag these tabs to stack them vertically if you want to view both at the same time.
  • There's also a new "Captures" view which shows the various performance data files you've collected. From there you can open corresponding viewers, or in the case of .hprof files right click to convert it to a standard .hprof file format.
  • BCP 47 support. As of Lollipop, Android supports 3 letter language codes (as well as 3 letter region codes, additional script types etc using a resource folder format based on BCP 47). Android Studio 1.1 included some preliminary support for this, but it is more fully supported in Android Studio 1.2. (Note that you must use version 1.1 of the Gradle plugin or later as well.) The resource chooser dialog now combines the language and region qualifiers into a single selection, you can choose any of the 3 letter languages (such as Klingon!) from the list, and we also show related regions when we have that information.

New in Android Studio 1.2 Preview 1 (Mar 10, 2015)

  • This is the first release based on IntelliJ 14, which means it picks up over a year's worth of improvements to IntelliJ, such as a new debugger which automatically shows variable values in place in the editor! In the following screenshot, the green text is not actually part of the source code, it's the debugger showing the current values of the variables. You can also hover over operators to have the expression evaluated.
  • The new canary build is not just based on IntelliJ 14, but IntelliJ 14.1, which is still in active development. IntelliJ 14.1 has added a number of new great features, described here (scroll to "Notable changes in IntelliJ IDEA 14.1"). It also includes several really important fixes that have been requested by Android Studio users, such as high density (retina) support for Windows and Linux.

New in Android Studio 1.1 (Feb 23, 2015)

  • Improved unit testing support! This is described in much greater detail in http://tools.android.com/tech-docs/unit-testing-support. Note that this requires the new version of the Android Gradle plugin 1.1, also available (and bundled with the IDE for offline usage). Note also that while the new Gradle plugin is included and supported, version 1.0 continues to be supported as well, so you can update to the new version of the IDE without affecting your project files and builds.
  • Many new lint checks - run Analyze > Inspect Code to see if version 1.1 uncovers new issues in your projects
  • Templates for creating analog and digital Android Wear watch faces
  • Updated launcher icons, now packaged as mipmap resources
  • Support for BCP 47 language tags (e.g. additional 3-letter language codes when using Android 5.0); as with the improved unit testing support this requires version 1.1 of the Gradle plugin.

New in Android Studio 1.1 RC 1 (Feb 12, 2015)

  • This release contains only a small set of bug fixes on top of the beta 4 release from last week.

New in Android Studio 1.1 Beta 4 (Feb 6, 2015)

  • Fixed issues:
  • Issue 131080: Gradle plugin 1.1: New unit-test feature never shows failing tests
  • Issue 133595: "First Run" wizard cannot be closed

New in Android Studio 1.1 Beta 3 (Feb 3, 2015)

  • Fixed a couple of additional important bugs found in 1.1 Beta 2 (126013 and 130082):
  • Issue 130082: Creating new project for Phone, Glass, Watch and TV doesn't work
  • Issue 126013: "java.lang.NoClassDefFoundError: [...]/PatternAwareOutputParser" when syntax error in unit-test Java file

New in Android Studio 1.1 Beta 2 (Jan 31, 2015)

  • This is just a bug fix release which the following fixes:
  • 80594: SDK Manager on Windows fails to install tools
  • 82998: Update recommended SDK Tools version in Android Studio from 24.0.1
  • 79778: Package manager exception when using custom signing
  • 82999: NPE in com.intellij.ide.navigationToolbar.NavBarPanel
  • 82702: Objectify filter added to web.xml when generating endpoints from class, even when the class is not an objectify entity

New in Android Studio 1.1 Beta (Jan 30, 2015)

  • This build contains mostly bug fixes and support for the upcoming version 1.1 of the Android Gradle plugin. There is also an experimental feature (which you can enable under Gradle > Experimental) to import just a subset of modules in a large project.

New in Android Studio 1.1 Preview 2 (Jan 23, 2015)

  • In this build, there are several new lint checks:
  • Check for suspicious language/region combinations (where you are defining a translation for a language and specific locale, where the combination of language and region is unusual and it's possible that you've used the wrong code.)
  • Checks that the tag passed to a Log.severity(tag, ...) call and its surrounding Log.isLoggable(tag) calls refer to the same tag. Similarly, it also checks that the logging level passed in to isLoggable matches the type of logging call, e.g. if if you check isLoggable(..., Log.DEBUG) you should log with Log.d, not Log.v or Log.i.
  • Checks that the tag passed to the logging calls, if its value can be resolved, is at most 23 characters long (as required by the Logging API.)
  • Checks that calls to info, verbose and debug logging calls are surrounded by a conditional (e.g. isLoggable or BuildInfo.DEBUG) but only if that logging call "performs work" (e.g. concatenates non constant strings or performs methods calls etc). This check is off by default.
  • Check for using drawables instead of mipmaps for the launcher icon, where the application is also filtering the set of densities packaged into the APK. There is also a quickfix in the IDE for migrating an icon from a @drawable to a @mipmap.
  • In addition, the default launcher icons have been updated to a Material Design look, and it now also includes an xxxhdpi density icon.
  • Bug fixes:
  • 56986: Incorrect flag for portuguese
  • 59042: strings.xml reformated every time I create new Activity
  • 77158: Sync removes modules that do not have a Gradle counterpart.
  • 81457: Fixes low resolution icon in Linux.
  • 82387: Add intention to correct XML namespace for support lib
  • 82564: Making AVD Manager separate (non-modal) window.
  • 92005: Allow cancelling task that retrieves device screenshots
  • 93284: Including comments when merging xml
  • 94499: Fixing the device preview in the search and create cases
  • 97006: Gradle lint does not recognize Context.getDrawable() as API 21+
  • 98297: Fix run dialog modality to allow avd manager interaction
  • 98317: Fixing resource merge to work within new project wizard
  • 98997: Pick test runner from Gradle while creating test configuration
  • 101279: Fix id reference check to properly handle undefined id's
  • 103257: Append .exe extension on Windows (mksdcard)
  • 103257: Welcome Wizard, on Windows, shows "Tools directory not found" error incorrectly

New in Android Studio 1.1 Preview 1 (Jan 16, 2015)

  • In addition to the bug fixes there are some notable improvements:
  • New projects now create launcher icons as @mipmap resources instead of @drawable
  • The various "cleanup" detectors for lint (e.g. checking that FragmentTransactions are committed, and that TypedArrays are recycled, and so on), now run incrementally within the IDE. They've also been extended to search for additional problems, such as missing close calls on database cursors, or missing release calls on SurfaceTextures
  • There are a couple of new lint checks:
  • A lint check which tries to identify string resources that should probably be using plurals instead
  • A lint check which warns you that @android:string/yes returns OK, not Yes
  • Several other lint checks that were bytecode based and only ran from Gradle (not lint in the IDE) have been ported to run incrementally in the IDE: Uses of SimpleDateFormat which should probably use getDateInstance instead, checks that addJavaScriptInterface points to a class annotated with @JavaScriptInterface, and a check looking for leaked Handler objects.
  • There is a new template for creating watch faces for Android Wear
  • The following bugs in the issue tracker were fixed:
  • Android Studio doesn't start, unable to find valid JVM
  • Restrict IconDensities check with splits density data
  • Incorrect inspection about Android problem for non-Android project
  • Lint report doesn't explain how to suppress warnings from Gradle.
  • tools:background should not trigger an overdraw warning
  • False positive in lint PropertyEscape
  • Lint: Make TypographyQuotes work with plurals
  • Library project is created with launcher icon resources
  • The xxhdpi launcher icon differs from other densities
  • src, layout folders are empty while creating new project
  • AVD Default orientation
  • Update lint to ECJ 4.4, ASM 5.0.3: NullPointerException by running lint
  • Don't match resource names for format-parameter only strings
  • "Palette" show twice in View > Tools Window
  • Fixing the device preview in the search and create cases
  • Making AVD Manager separate (non-modal) window.
  • Allow settings.gradle to include projects dynamically
  • can't create outgoing link from widgets that are in included layouts
  • Check if mksdcard can be executed
  • Update wizards to use new headers
  • AVD Manager: SD Card Radio Button Selection
  • AVD Manager: Fix Key lines of the Verify Configuration Screen
  • install, bad link to linux KVM
  • save screenshot: respect device art masks
  • Added "Download JDK 7" quick-fix.
  • uncommitted fragment transactions not highlighted by lint
  • @DrawableRes doesn't match R.mipmap drawables
  • Translations Editor does not show newly added locale
  • Making the AVD ID field look non-editable
  • Properly handle parent class lookup in the API check for this-expressions
  • Lint uses incorrect API level while analyzing Java Library modules
  • FlagManager asserts on region code es-419
  • ADV Manager has start button but no stop button!
  • Move Clear All and Scroll to End actions
  • Installer now waits for uninstaller
  • studio.exe can again run on Win64
  • NPE when missing dependency during import
  • Updating api distributions and distribution dialog text
  • Updating title of AVD Manager window
  • Adding hardware buttons for nexus one and nexus s
  • file paths (in local.properties) are no longer treated as relative if they belong to a different platform.
  • Use black icons only
  • device chooser: Prefer to use a device rather than the emulator
  • After switching device types, the system image list broke
  • Use $ as separator inner classes in fragment names
  • Fix scaling of device diagram.
  • Adding defaults for new avd creation wizard
  • Fixing avd duplication
  • Fixing button styles in avd manager
  • Compute default parameter values quickly
  • Fixing skin chooser on windows
  • Do not require approval of all licenses
  • Improve JDK detection algorithm
  • NPE on configuring library documentation
  • Closing exported device files.
  • Try to detect jdk location automatically on entering the step
  • Visual feedback for 'Detect JDK' button processing
  • Do not download samples
  • apk installation: do not throw error for unexpected dumpsys output
  • device chooser: special case Google APIs target
  • Misc other fixes for crashes reported via the crash reporter
  • Bug fixes not tagged with a bug number in the commit message.
  • This does not include the work and fixes to the build system for Gradle plugin 1.1, still in progress. Note that Android Studio 1.1 works fine with version 1.0 of the Android Gradle plugin.

New in Android Studio 1.0.2 (Dec 19, 2014)

  • Bug fixes:
  • 82998: Update recommended SDK Tools version in Android Studio from 24.0.1
  • 79778: Package manager exception when using custom signing
  • 82999: NPE in com.intellij.ide.navigationToolbar.NavBarPanel
  • 82702: Objectify filter added to web.xml when generating endpoints from class, even when the class is not an objectify entity

New in Android Studio 1.0.1 Dev (Dec 13, 2014)

  • Fixes:
  • 82159: AVD Manager locks exported device.xml file
  • 81779: emulator log on Studio doesn't work on Windows
  • 81023: Creating virtual device from Android Studio installed on C drive with Android SDK on D drive fails
  • 82404: Update the recommended SDK tools version to 24.0.1.
  • 82405: Make the default Update channel in the 1.0.x releases "Stable" rather than "Beta"
  • 82071: "How do I create a custom hardware skin?" doesn't point to anythin

New in Android Studio 1.0 RC 4 (Dec 5, 2014)

  • Fixes a couple of important Gradle plugin issues
  • Includes the Import Sample wizard which was accidentally left out in earlier RCs
  • Updates the project structure dialog to use the new property names of a few recently renamed Gradle DSL methods
  • Launching an emulator from the AVD window now closes the AVD list window in order to immediately show emulator output

New in Android Studio 1.0 RC 2 (Nov 27, 2014)

  • Fixed critical bugs.

New in Android Studio 1.0 RC 1 (Nov 24, 2014)

  • Bug fixes.
  • Also updated the splash screen and branding graphics to include our new logo, and the settings directories for the IDE have been updated from AndroidStudioBeta to just AndroidStudio. When you run this version for the first time, it should offer to import your settings from the beta settings directory.
  • Finally, we are now bundling a local Maven repository containing the Android Gradle plugin and all its dependencies, which should allow you to create new projects without a network connection.

New in Android Studio 0.9.2 Dev (Nov 7, 2014)

  • Bug fix release.

New in Android Studio 0.9.1 Dev (Nov 4, 2014)

  • This is just a bug fix release which fixes a couple of critical bugs discovered in version 0.9.0 released on Friday.

New in Android Studio 0.9.0 Dev (Nov 1, 2014)

  • Adds support for the new version of the Android Gradle plugin, 0.14.0, also released today. In addition, there are a number of bug fixes, particularly in the AVD manager (which now also provides built-in emulator skins for the Nexus devices.)
  • Please note that the new version of the IDE requires the new version of the Gradle plugin, and vice versa, so when you update your projects will fail to sync with this error message:
  • For most users, simply clicking on the Fix hyperlink will be enough; this will update your build files to reference the new 0.14.0 Gradle plugin version instead, which will then be downloaded and installed. However, there have been some changes to the plugin APIs, so you may need to tweak your build files (and if you are using third-party Gradle plugins, they may need to be updated).

New in Android Studio 0.8.14 Dev (Oct 24, 2014)

  • Improvements to the AVD manager: more feedback when creating and starting AVDs; better default RAM device defaults, better system API sorting, tweak emulator launch parameters, and the emulator output is now displayed in an output tab (which is important when the emulator runs into fatal problems, such as the device description requiring more RAM than available on the system).
  • Updated editor support for Android Lollipop: API metadata now includes Lollipop APIs, and the new XML drawable tags and attributes are such as are supported in editor XML validation and code completion.

New in Android Studio 0.8.13 Dev (Oct 18, 2014)

  • This is primarily a bug fix release relative to 0.8.12 from last week.
  • However, it does include some support for Android Lollipop and device information and art for the new Nexus devices. For example, you can create AVDs for Nexus 6 and Nexus 9, as well as Android 5.0 Lollipop system images.
  • The frame-screenshot-pulled-from-device feature, and the layout editor and XML rendering preview, now also support Nexus 6 and Nexus 9 artwork.
  • And finally, various editing features have also been updated to be Lollipop aware (e.g. the targetSdkVersion lint check suggests using 21, the Build.VERSION_CODES codename for Lollipop is now recognized, and so on.)

New in Android Studio 0.8.12 Dev (Oct 10, 2014)

  • A brand new AVD Manager (AVDs are virtual devices for the emulator). The new AVD Manager is more tightly integrated with the IDE. For example, when attempting to run your app, you can quickly create a Nexus 5 or Nexus 7 AVD directly from the Run dialog. Here's the new AVD list, where you can view and edit AVDs (and you can see how much disk space each AVD is using), you can start AVDs, etc.
  • You can also create new AVD's, and it's easy to base these on existing hardware defaults, across different categories like phone, tablet, wear and TV.
  • Once you've picked the hardware, you can then configure it with a specific architecture and Android version.
  • Finally you can pick a display name, default orientation, GPU/snapshot options - or any of the more advanced settings such as the size of external storage and so on.
  • When creating new projects, we now default to using HTTPS instead of HTTP for the Gradle wrapper. We've also added a lint (and a quickfix) to warn about existing projects using HTTP:
  • If you prefer to edit layout XML files manually (using the XML editor rather than the graphical layout editor), you can now click on the Options icon in the toolbar above the layout editor or the layout preview window, and choose to "Prefer XML editor":
  • Once chosen, from now on newly created layouts will open with the XML editor rather than the layout editor.
  • The translation editor is now available from string editors:
  • The Android Project view is now chosen by default. You can switch back to the plain Project View by right clicking on the dropdown above the project view.
  • You can now import the tools namespace in XML with a quickfix: just write the tools: prefix and then the IDE will offer to insert the corresponding namespace declaration.
  • Similarly, with the android: prefix it imports the Android namespace rather than showing all available namespaces and asking you to pick one.
  • A lot of bug fixes, among them a file descriptor leak which led to machine problems after repeated APK deploy operations, and several significant patch update mechanism bugs, described in detail below. And many others.

New in Android Studio 0.8.11 Dev (Sep 19, 2014)

  • Support for the new version of the Android Gradle plugin (0.13), which was also released today (more info). Note however that the IDE continues to work with version 0.12 of the plugin! The new plugin supports (and requires) Gradle 2.1, so if you try to update a project with a Gradle wrapper which points to an unsupported version, the IDE detects this and offers to fix it.
  • Similarly, if you try to import a Gradle project which does not contain a gradle wrapper, it will offer to let you insert one.
  • Lint errors can now display the full issue explanation text in-place in the editor. This is helpful when the short single-line error message does not fully explain what the problem is.
  • There is a hyperlink at the end of the single line message, and a keyboard shortcut listed next to it; clicking the link or pressing the keybinding will replace the tooltip with the full explanation text:
  • (All 200 lint checks have full explanations; please let us know if you find any of them that are still not clear.)
  • The layout editor now checks to make sure that you have the latest available versions of "layoutlib". This is useful because the rendering library is actually shipped with the SDK rather than with Android Studio, so even if you are staying up to date with Android Studio canary builds, you can easily use obsolete versions of the layout library. The Android L preview rendering library in particular was recently updated, so if you do not have the latest version the IDE will check and let you know.
  • We've merged in the latest changes from IntelliJ 13.1.5 RC (release notes). One of these fixes changes the directory layout in the Android Studio.app bundle.
  • A lot of bug fixes.

New in Android Studio 0.8.10 Dev (Sep 12, 2014)

  • New memory monitor. Open it via Tools > Android > Memory Monitor. This view lets you connect to a running app on a device and monitor its memory use over time.
  • Analyze > Inspect Code should be a lot more accurate now (as well as faster). In older builds, you could end up with hundreds of irrelevant warnings for things like empty XML tags in third party libraries like appcompat, or gradle script keywords flagged as spelling mistakes, or unused properties in local.properties, and even downright wrong suggestions, like suggesting you make a public Android activity package protected instead.
  • Lint: There are a few new lint checks. First, there is a lint check which looks for potential widget overlaps in RelativeLayouts. Second, the plurals detector has been updated with ICU 53 data, and it will now include specific examples of implied quantities, which helps explain for example why the quantity "one" should be including the actual number in the given language
  • The Android window no longer shows a modal progress bar while adb starts up
  • Attempting to edit files outside the project (which used to be marked as read-only) now shows a dialog instead where you can deliberately unlock the files
  • Additional build failure scenarios (such as low memory conditions for the Gradle daemon, or socket permissions) are recognized along with hyperlink actions to resolve the problems

New in Android Studio 0.8.9 Dev (Sep 4, 2014)

  • Version 0.8.9 contains only a couple of bug fixes relative to 0.8.8.

New in Android Studio 0.8.8 Dev (Sep 1, 2014)

  • Fixes to the font rendering in the translation editor introduced in 0.8.7 where on Windows and Linux many translations would just show up as empty rectangles like □□□□.
  • New error handling for a gradle cache bug which has affected a lot of users. The symptom is that syncing the project fails with a strange class loading error. We now recognize this scenario and offer a quickfix to work around it (which basically means discarding the Gradle cache and downloading the Gradle dependencies over again).

New in Android Studio 0.8.5 Dev (Aug 7, 2014)

  • Version 0.8.5 contains only bug fixes relative to 0.8.4, primarily in the new Android project view introduced in 0.8.4.

New in Android Studio 0.8.4 Dev (Jul 25, 2014)

  • In addition to a number of bug fixes, this version contains the new Android project view which offers a flattened and reorganized view of the Gradle project structure. It is not yet the default view, so to enable it, right click on the Project and choose "Android" from the list of views.
  • The biggest change is for hierarchy of resource files. First, they're all combined across Gradle source sets. Second, resources across all qualifiers (locales, orientations, screen sizes and densities etc) get combined into a single folder per resource folder type.

New in Android Studio 0.8.3 Dev (Jul 22, 2014)

  • Bug fixes (0.8.2 contained only critical fixes; this release contains a larger set of fixes)
  • Integrated recent IntelliJ 13.1 EAP builds. These are basically bug fix builds.
  • Inspect theme attributes for quick documentation. If you invoke View > Quick Documentation (usually bound to F1) on for example ?android:textAppearanceLarge you will see the theme inheritance hierarchy and resolved values for the various attributes that are pulled in.
  • Quick fixes for around 30 lint issues.
  • New Allocation Tracker integrated in the Android/DDMS window
  • Output window message filtering

New in Android Studio 0.8.2 Dev (Jul 14, 2014)

  • This release contains only bug fixes reported in beta builds 0.8.0 and 0.8.1.

New in Android Studio 0.8.0 Beta (Jun 28, 2014)

  • Support for the Android L preview SDK:
  • Layout rendering: Support for the new L theme, widgets, and graphics support (such as shadow layers)
  • API version rendering (showing the layout across different UI versions)

  • Editor support for L APIs (such as the new Drawable XML tags and attributes, e.g. , , etc)

  • Support for Wear and TV:
  • New templates for Android Wear and for Android TV, along with Gradle build support
  • Layout Rendering

  • New intention action to override resources:

  • And lint quickfix for API check violations

  • Automatic platform component downloading during Gradle sync when a required platform is missing. For example, if your build.gradle file requires API 19, but your SDK install does not have Android 4.4 installed, you will get a fix link in the Gradle Sync window which offers to install it:

When you click on it, you'll first get a license agreement dialog, and then it will continue to install the missing component and restart the sync. 

  • This is not specific to missing Android SDK versions; it will also install missing build tools versions, or missing Android or Google Maven repositories.
  • Gradle Sync Caching. We now cache the synced Gradle model across IDE invocations, so if you exit the IDE and restart, the IDE should be ready to use much more quickly.

New in Android Studio 0.6.1 Dev (Jun 13, 2014)

  • A number of important bug fixes, particularly around the Gradle support
  • A revamped New Project Wizard. This work is still in progress, but should already be fully functional.
  • Several new lint checks:
  • A security check ensuring that Cipher.getInstance() is used with safe values:
  • A security check which looks for fragment injection
  • A gradle build script check which looks for cases where using property assignment no longer works as expected:
  • Another gradle build script which ensures that the gradle plugin version is compatible with the SDK
  • Did we mention bug fixes? By the way, the bug where you ask the Update check to limit itself to one channel (for example dev), and it would continue to offer Canary updates, has been fixed -- so you can now set it to your preferred channel again.

New in Android Studio 0.6.0 Dev (Jun 7, 2014)

  • Most of the changes in this build are "under the hood" changes to support version 0.11 of the Android Gradle plugin, as well as bug fixes and integrating the latest IntelliJ 13.x fixes.
  • One of the user visible changes in 0.11 is that we've deprecated the packageName and packageNameSuffix settings, and have renamed them to applicationId and applicationIdSuffix. The purpose of this is to make it clear that this application id is decoupled from package declarations in your manifest, and in particular, the R class and the BuildConfig class, and all the implementation classes inside your app, can be renamed and refactored freely; you just need to keep applicationId the same. If you open your build.gradle file, lint is highlighting these deprecated calls and offering quickfixes to update them

New in Android Studio 0.5.9 Dev (May 30, 2014)

  • Updated to IntelliJ 13.1.3 RC, picking up the following builds: 135.815, 135.863, and 135.908.
  • Many bug fixes.
  • GRADLE:
  • Support for the new 0.10.4 plugin, also released today. Studio 0.5.9 continues to work with 0.9.+, but if you are using it with 0.10.+, make sure you use at least 0.10.4.
  • Improved message console during builds:
  • The most important change is that it now includes all output from Gradle, since prior to this, it could show an error message like "Execution failed for :app:proguardRelease: Please correct the above errors first", without actually showing the output from the proguard task.
  • Various tweaks such as making the window searchable, sorting lines in output order rather than by severity category (though it will auto-jump to the first error), hiding the Info icon and "Information:" prefix for normal output lines, showing Gradle's deprecated and incubating feature output as warnings, etc.
  • Improved project structure editor:
  • Master/Detail view: In the Project Structure dialog, instead of showing items in a giant 2-dimensional table, show a master/details view where there is a list of items on the left-hand side with + and - buttons to add and remove items; clicking on an item in the list shows details in a 2-column table on the right-hand side.
  • The Project Structure editors now includes information not just from the Gradle file being edited but the computed Gradle model as well, which lets it for example show default values, such as the greyed out (true) and (false) values shown in the screenshot above.
  • There's a new panel for editing project-global properties, such as the plugin version and repository for all modules. It also lets you edit the Gradle wrapper version being used (which edits gradle-wrapper.properties rather than the top level build.gradle file.)
  • EDITING:
  • ProGuard editor support: syntax highlighting, code completion for ProGuard flags, toggle comment action.
  • Go to declaration for a resource now sorts the results based on the parent folder qualifiers, which makes navigation to strings in apps with many translations much more predictable.
  • Many editor refactoring fixes. Renaming a styleable will now update all styleable+attr field references too (and find usages will include these). Similarly renaming a custom view will now update all the R field references.
  • Layout editor id property renaming. You can now view and edit the id property without the @+id/ prefix, and more importantly changing the id will now either just change the id of this component without updating any references, or perform a full id refactoring. (Prior to this, changing the id would change layout references in the layout, but not in the Activity class, breaking the app.) When you change an id, and there are references to this id, the layout editor will ask you whether you also want to update usages.
  • LINT:
  • New Gradle lint check which warns about octal literals. Some users have tried to specify a version code like "031252", but Groovy will use the leading 0 to interpret this as an octal number which is probably not at all what was intended.
  • New Gradle lint check (off by default) which checks all the dependencies in your Gradle files and searches MavenCentral to see if there are any more recent versions available.

New in Android Studio 0.5.8 Dev (May 9, 2014)

  • Fixed a number of crash reports from recent canary builds
  • Integrated two more IntelliJ EAP builds: 135.760 (release notes) and the earlier 135.689
  • Gradle:
  • Support for Gradle 1.12, and the new Android Gradle plugin 0.10.
  • If you configure a "resource prefix" for your Android library (see the build system docs), in order to avoid accidental name clashes, Studio will flag all resources that do not conform to the given prefix, and it will also default newly suggested identifiers in the layout editor, create resource dialogs etc to identifiers which begin with the prefix.
  • Layout Editor:
  • Support for "show in included", which lets you view and edit layouts that are included in other layouts "in context".
  • The layout editor and XML layout preview rendering now supports "hover": as you move your mouse around, the view under the mouse is highlighted slightly and shown with a faint dashed border. This makes it easier to understand the structure of your layout without having to click to select each view.
  • The frequently reported bug where using cut, copy and paste shortcut keys in the property sheet would operate on the whole widgets rather than the property sheet text has been fixed.
  • Lint: Several new checks:
  • A layout include tag check which ensures that if you specify layout parameters on an include tag you also specify layout_width and layout_height, since otherwise the other layout parameters will be ignored
  • A locale folder check which ensures that you are using the correct ISO code for a couple of locales where there is a more modern ISO code but where the code is not yet the right one to use
  • A check to ensure that you are not calling WebView#addJavascriptInterface on platforms lower than API 17
  • A check which discourages use of signatureOrSystem level permissions
  • Several checks that have only been available from the lint command line (because they rely on analyzing bytecode, which is not available inside Studio where there is no compile-on-save) have been ported to run incrementally in the editor in Studio. This includes the Parcel creator check, the view constructor check, the wrong draw/layout call check, and the valid fragment check.
  • Import: When editing build.gradle files under the project root which have not been imported into the project, there is an editor banner warning you that it's missing and offering to import it
  • Run Configurations: Improved "reuse this device" handling: Show device chooser again if the set of available devices has changed
  • Many, many bug fixes
  • A couple of app compat library checks:
  • Ensures that when using the appcompat library, you call the right methods - e.g. getSupportActionBar() instead of getActionBar(). NOTE: This lint check may incorrectly report issues in projects which are not using AppCompat at all. This bug has been fixed and will appear in 0.5.9.
  • Ensures that your menu resource files are using the correct form of showAsAction. A frequent problem for developers manually adding or removing app compat dependencies was forgetting to change between android:showAsAction and app:showAsAction. Worse yet, using the app: namespace one without appcompat could result in an aapt crash. Lint now validates these files.

New in Android Studio 0.5.7 Dev (Apr 26, 2014)

  • This version is essentially the same as 0.5.6, with a single bug fix a crash in the project structure dialog.

New in Android Studio 0.5.6 Dev (Apr 25, 2014)

  • Bug fixes for several critical bugs reported in 0.5.5.
  • Improvements to the build.gradle file editor support. Code completion, show documentation and go to declaration is now smarter (though it is still slow, so wait a second or two for results, and it still includes some "noise" in the form of base Groovy methods). Properties now show up (but for documentation, look up the corresponding getter for now.)
  • New templates: A Google Play Services template, new templates for creating folders for various types of sources (such as .java files, JNI, XML resources, etc), and the BlankActivity wizard was split into separate activities - a blank activity, a blank fragment activity, a tabbed activity, and a navigation drawer activity
  • Gradle sync errors are now displayed in the Message window rather than in transient popup balloons, and the message window can contain hyperlinks with quickfixes to resolve problems

New in Android Studio 0.5.5 Dev (Apr 17, 2014)

  • Update to a new IntelliJ 13.x EAP build: 135.667.
  • Editing:
  • New resource type inspection. This finds errors where you are passing the wrong type of resource to a method which accepts a resource id
  • The resource type metadata is also used to drive code completion
  • Support for the new annotations which shipped with the most recent version of the support library, such as @NonNull and @Nullable, as well as annotations to declare resource types and valid constants. Add a dependency on com.android.support:support-annotations:+ to use these in your projects. In the upcoming 0.10.x version of the Android Gradle plugin, the plugin will extract these annotations into your libraries' AAR files such that clients of your library can get the same resource type checks as is shown above for the SDK APIs.
  • Removed many incorrect @Nullable annotations from the SDK builtin annotation database, so there should be fewer incorrect null warnings in your code.
  • The Gradle build file editor is now smarter about the Android Gradle plugin's DSL. It should no longer create incorrect errors and warnings, and go to declaration should be able to jump to the right methods. (This work is ongoing and in upcoming releases code completion and documentation will be improved.)
  • Layout Rendering:
  • The layout configuration menus now show you whether picking a specific device will result in jumping to a different layout. For example, if you are looking at a layout with a phone, and there is an xlarge version of the same layout, then switching to a Nexus 10 will force the editor to switch to the xlarge version of the layout. We now display this information in the menu such that you can instantly see when this happens, to help make it clear when a layout is not a match
  • Smarter device selection. Rather than always remembering the most recently used device per layout, and always defaulting to Nexus 4, it now keeps a list of the most recently chosen devices, and always switches to the first matching device among the most recently chosen devices. This means that if you for example switch to a 7" tablet layout, it will show all subsequent layouts you open with the same device, except when that device is not a match for the layout -- for example if you open an xlarge layout, in which case it will open the most recently chosen compatible device, such as a 10" tablet layout.
  • The property sheet custom editor for colors now includes support for the ARGB format
  • Project:
  • Importing modules should now work properly. You can import existing Eclipse ADT projects as well as Gradle modules into an existing Gradle project; it will copy in the sources as is done for full project import, as well as handle dependencies transitively. Import modules either from the project structure dialog or the File | Import Module action.
  • New project structure dialog implementation: Should be faster, includes Gradle sync notification, should only perform a Gradle sync at the end when necessary, and won't list invalid IntelliJ module warnings as before. This is actively being worked on and the individual editors (for flavors, build types, signing configurations etc) will be improved in upcoming builds.
  • Templates:
  • New templates to create manifest, AIDL, resource XML files etc in specific source sets.
  • Attach to Process:
  • The process chooser, shown when attaching to a running process, now includes device names and is "speed search" enabled (which is true for most views in IntelliJ such as the project view, where you can start typing and the list is automatically filtered)
  • Many bug fixes

New in Android Studio 0.5.4 Dev (Apr 4, 2014)

  • Many bug fixes.
  • A new Lint API check, which flags usages of attributes that are not available on all versions supported with minSdkVersion. This is just a warning rather than an error, since unlike unavailable method calls, this will not cause a crash. In some cases, such as in the following screenshot, the fact that the attribute is not used in some of the older versions is not a problem: the LinearLayout will simply not show dividers, which in this case is not a big visual problem. However, in other cases the unused attribute may be vital to the operation or look of an application, so it's important to be aware that the attribute is only functional on some of the supported versions.
  • There is a new template for creating a Google Maps Activity (invoke via New > Google > Google Maps Activity).

New in Android Studio 0.5.3 Dev (Mar 28, 2014)

  • Updated the bundled IntelliJ IDE to 13.1.1, picking up the following bugs since our last build: 13.1.1 Release Notes
  • Many bug fixes
  • Gradle Support:
  • You can now import modules into existing projects. (Module deletion is coming soon.)
  • When there are errors during sync/import, these are no longer only displayed in a transient popup balloon; they are written to the Messages window. (NOTE: Make sure you select the tab "Gradle Sync", not "Gradle Tasks". We'll make it open automatically in an upcoming build.)
  • The build variants window now shows conflicting variants.
  • Templates:
  • When creating new activities you can choose which source set to write the activity into.
  • Rather than a single catch-all "Android Component" template dialog, the available templates are now offered as a nested set of menus such that you can quickly pick templates by category.

New in Android Studio 0.5.2 Dev (Mar 21, 2014)

  • Bug fixes:
  • Updated base IDE to IntelliJ 13.1 RC2. It provides mostly bug fixes, but there are some new features, such as multiple selection simultaneous editing.
  • New lint checks:
  • Ensures that AdapterView implementations use the View Holder pattern (to make scrolling smoother)
  • Ensures that when inflating layouts, you always pass a parent context (since otherwise layout parameters on the root layout will be ignored)
  • Ensures that directory paths in property files (such as local.properties) are escaped properly. Backslashes and colons in these files must be escaped, so if you simply paste in a Windows path like C:\My\Sdk, that value will not be read by the IDE and by Gradle as the path you intended.
  • Ensures that resource aliases point to resources of the same type as the alias

New in Android Studio 0.5.1 Dev (Mar 8, 2014)

  • "Unable to load class 'org.gradle.api.artifacts.result.ResolvedComponentResult'" error when loading project: Issue 65155.
  • Android Studio 0.5.0 does not work with a custom project structure (such as the one exported from Eclipse): issue 66758.
  • Android Studio 0.5.0 won't start on Mac OSX with Java 7. Issue IDEA-121383. If you've already installed 0.5.0 you may not be able to start the IDE to run the updater. See the workaround on the Known Issues page for information on how to start it manually; alternatively, you can download a fresh install of Android Studio 0.5.1 from the Canary channel page.
  • Occasional NullPointerException on startup: issue 66822.

New in Android Studio 0.5.0 Dev (Mar 7, 2014)

  • Support for the Android Gradle plugin 0.9. (Note that it also requires 0.9 or higher, and there are a couple of incompatible changes: See this page for how to update your project if you are affected: tools.android.com/tech-docs/new-build-system/migrating_to_09).
  • Editor support for Android transition resource files: validation, code completion, documentation
  • A large number of bug fixes.
  • New bundled version of IntelliJ 13.1 EAP build:
  • This means we're switching from the stable 13.0.x releases to 13.1 to pick up some platform support we need, but we also pick up some great new features:
  • Postfix code completion: http://blog.jetbrains.com/idea/2014/03/postfix-completion/
  • Code templates in code completion, and block reformatting: http://blog.jetbrains.com/idea/2014/02/intellij-idea-13-1-eap-134-1342-is-out/
  • Full release notes for the two new 13.1 EAP builds we're picking up: 134.1160 and 134.1342.
  • Gradle Support
  • Offline mode for sync and build
  • Support for source folders outside the module content root
  • Support for build variants in library projects
  • Lint:
  • Architectural improvements allow many cross-file checks to be run incrementally in the IDE such that they show up in the editor while editing, rather than requiring a full Analysis run to be performed. For example, while you are editing an Activity class, it will incrementally ensure that your findViewById calls perform a valid cast based on how those id's are used in the layout resource files:
  • Similarly, it will check your String.format calls to ensure that the types of the parameters match the formatting conversion specifiers found in the value resource files. Other newly incremental checks include the array size check, the unknown id check, the missing orientation check, the locale check and the text field input type check.
  • The lint.xml configuration file can now filter out errors in files not just by exact relative paths but also by regular expressions.
  • flag Gradle packageSuffix usage where the suffix does not start with a dot

New in Android Studio 0.4.6 (Feb 20, 2014)

  • Bug fixes. This is primarily a bug fix release from Android Studio 0.4.5 released five days ago. In particular, the Gradle sync editor notifications should be fixed now, as well as issues around switching language levels.
  • Source and documentation attachments. If you have plain Java library dependencies (for example on Guava or Joda-time), the Gradle sync will now automatically discover the associated source code and use those for the libraries, which makes javadoc popups work in code completion, which makes parameter documentation and suggested parameter names better, and so on. (Source attachments for AAR libraries is not yet working.)
  • Improvements to the project, activity and fragment templates:
  • The Blank Activity template no longer includes a fragment by default; there is a separate navigation type which will include it:
  • There is a new option to add Google+ login to the Login Activity template (New > Activity)
  • Similarly, there is a new "+1" fragment template.] (New > Android Component)
  • Some additional clipart is included in the Asset Studio wizard

New in Android Studio 0.4.5 (Feb 15, 2014)

  • Many bug fixes for issues reported in 0.4.4 and earlier releases
  • Merged to the latest IntelliJ 13 EAP build 133.818
  • When you edit your build.gradle files by hand, and the IDE's model is out of date, we now show an editor notification along with a link to immediately sync.
  • Support for custom manifest file locations
  • Log cat has a new option (on by default) which creates an application filter automatically such that only the launched application's output is shown
  • Editor inline resource folding for quantity strings (plurals)
  • Some new lint checks, and in particular one which flags uses of the assertion keyword. This does not work reliably on devices and you should use BuildConfig.DEBUG to do conditional checks instead.
  • The icon asset generator is much faster
  • Improved Add Library Dependency editor:
  • It now uses the IDE's Maven index to do much quicker searches
  • It includes libraries from the local Maven repositories such as the support library and Google Play Services
  • It includes many other commonly requested libraries
  • It has better query rewriting rules to make searches work better

New in Android Studio 0.4.4 (Feb 6, 2014)

  • BUG FIXES:
  • Merged to the latest IntelliJ 13 EAP build 133.696
  • Retina support on OSX. If you're displaying Android Studio on a retina-density screen on OSX, using JDK 6 or recent versions of JDK 7, we will render your layouts in full Retina resolution. This is not just for layouts, but for the editor margin previews of drawable resources too. It's hard to convey this on a web page without Retina density, but here's a zoomed in view of the editor preview before (with Retina density text, and non-Retina icon painting as handled in Studio versions prior to 0.4.4). This makes an even bigger difference in the layout editor and with the XML layout preview feature, since the images in question are much larger. You can typically see your phone layouts in full resolution (no scaling involved.)
  • LINT:
  • New lint check warning about using a with size wrap_contents
  • Lint checks suggesting to use SparseLongArray and LongSparseArray
  • Lint running inside Android Studio now consults a project's lint.xml (to for example change the severity of an issue from warning to error or vice versa)
  • The layout editor now supports rendering device frames (which was only available in layout preview until this point). It also has a render settings menu (to turn off device frames) and a Refresh action.
  • Lint now checks Gradle files. It will warn about:
  • Obsolete dependencies (e.g. not using the latest play services, not using the latest build tools, etc)
  • Using absolute paths
  • Using Windows path separators
  • Using incompatible combinations of tools libraries (such as using a support library older than the target SDK version)
  • Using + syntax in dependencies (not enabled by default)
  • Accidentally calling DSL methods (such as attempting to set versionName by calling a local method named getName)
  • Using constructs not properly handled by the IDE support (such as reassigning a project's directory)
  • TEMPLATES:
  • Newly created projects are initialized with the right build.gradle setup such that you can simply put .jar and .aar files into the libs/ directory and they will automatically be used (similar to how the libs/ folder worked in Eclipse ADT.)
  • The New Notification template is back (found under New > Android Component)
  • GRADLE INTEGRATION:
  • The Gradle daemon is shutdown on IDE exit, which should fix the Android Studio update mechanism on Windows (starting after the next update.)

New in Android Studio 0.4.3 (Jan 24, 2014)

  • Support for the new version of the Android Gradle plugin 0.8. It does not require updating; you can continue to use version 0.7 of the gradle plugin with this version of Studio.
  • Updated to the latest IntelliJ 13 EAP build, #133.609 (release notes).
  • Gradle IDE support:
  • Updating from one version of the Gradle plugin to the next is easier; rather than just opening a search window showing .gradle files referencing the plugin, the upgrade quickfix now performs the edits to the plugin dependency and the gradle wrapper properties file directly and in one shot
  • We now automatically sync with Gradle's model after a build if we detect that the model is stale
  • Fixed a bug around library syncing (where library dependency classes and resources could suddenly not be found by the IDE)
  • Lint:
  • New lint check which looks for cycles in style definitions, cycles in layout definitions, cycles in resource aliases and cycles in color and drawable definitions.
  • New lint check for duplicate item definitions inside styles
  • New lint check for padding symmetry in right-to-left contexts
  • New lint check for a resource definition pattern which can cause some versions of aapt to crash
  • Layout editing:
  • The layout editor property sheet now handles setting properties in custom namespaces
  • Improved threading behavior of layout rendering code (which should make editing in the XML editor with the layout render preview window more responsive)
  • In addition to creating new locales from the Locale menu you can now open up and edit existing translations
  • Fixed bug where the layout editor could show stale resource strings
  • Eclipse Import:
  • You can now import Eclipse-style projects even if they don't have .classpath and .project files as long as they use the same directory structure
  • More graceful handling of imports if there is a problem such as a missing dependency
  • Many other bug fixes.
  • Version 0.8 of the Android Gradle plugin provides the following improvements:
  • Supports Gradle 1.10, requires Build-Tools 19.0.0+
  • Fixed issue 64302: Add renderscript support mode jar to the dependencies in the IDE model.
  • Fixed issue 64094: buildConfigField can now replace previous values inside the same type/flavors.
  • Add support for NDK prebuilts in library projects.
  • Parallelize pre-dexing to speed up clean builds.
  • Incremental dexing re-enabled (though it'll be automatically disabled in some builds for some cases that dx doesn't support yet.)
  • Added 'provided' dependency scope for compile only (not packaged) dependencies. Additional scope per buildtype and flavors are also available (debugProvided, myFlavorProvided,etc...)
  • Variant API improvements:
  • getPreBuild() returns the prebuild task for the variant
  • getSourceSets() returns the sorted sourcesets for the task, from lower to higher priority
  • createZipAlignTask(String taskName, File inputFile, File outputFile).
  • This creates and return a new zipalign task. Useful if you have a custom plugin providing custom signing of APKs. This also makes the assemble task depend on the new zipalign task, and wires variant.getOutputFile() to return the result of the zipalign task.
  • project.android.registerJavaArtifact() now receives a Configuration object to pass the dependencies to the IDE. See artifactApi sample.
  • New "lintVital" task, run automatically as part of assembling release variants, which checks only fatal-severity issues
  • Replace Java parser in lint with ECJ; must faster and fixes bug where lint could hang on certain source constructs
  • Lint HTML report now writes links to source files and images as URLs relative to the report location

New in Android Studio 0.4.2 (Jan 9, 2014)

  • Fixes an important bug related to building projects found in 0.4.1 released earlier today.

New in Android Studio 0.4.1 (Jan 9, 2014)

  • Updated to the latest Intellij 13.0.2 release build, 133.471.
  • Gradle IDE integration:
  • New option for setting command line flags passed to Gradle, which for example allows you to pass any Gradle command line flag to the build, such as --stacktrace:
  • The project structure dialog now handles build.gradle file editing better, such as preserving comments and code blocks inside lists that it is editing
  • For newly created projects, the plugin and repositories are defined in a single place, in the top level build.gradle, rather than in each module’s build.gradle file.
  • Gradle 1.10 has been released, but Android Gradle plugin 0.7.3 (which Studio 0.4.1 is using) does not work properly with Gradle 1.10, and the error message was very confusing (because the plugin crashes before it gets to the version check). In 0.4.1 we detect the mismatched version earlier and give a sensible message. We are working on an updated Android Gradle plugin which (among other feature work) will work with Gradle 1.10.
  • Streamlined import. If a project contains a gradle wrapper, or if Studio knows where Gradle is installed, the project is imported directly without asking for more information.
  • Many fixes around Gradle sync error handling and notification. We now give better feedback during a sync (with editor notifications), and especially after a sync if the sync failed, since in that case a lot of functionality will not work right. There are more diagnostics and suggestions which should help pinpoint and address the problems.
  • Eclipse project import:
  • Supports importing instrumentation tests. When importing an ADT project, it looks at the sibling directories and the child directories of the imported project, and if it finds an instrumentation ADT project, the sources are merged into the Gradle instrumentation test source set of the project.
  • Supports importing NDK projects. If the imported project contains NDK sources, these are imported into the jni/ source set of the project, the module name is inferred from the Makefile and stored in the Gradle file, and the ndk.dir property is defined in local.properties.
  • Additional import diagnostics, warning about SDK installs missing needed Maven repositories, using obsolete build tools, etc.
  • The import now handles more complex dependencies, using Eclipse linked resources, path variables, and so on. If you point to an Eclipse workspace (or if the project is inside a workspace, the import will find it automatically), it can use the workspace metadata to resolve path expressions; otherwise, you can provide manual mappings for these as part of the import wizard.
  • DDMS:
  • New Heap Dump action, which lets you select a process, generate a heap dump and save it as an HPROF file for use with a memory profiler.
  • Lint:
  • New manifest warning which flags attributes in a manifest file which are ignored and can therefore be misleading.
  • Fixed some false positives in checks when used in Gradle projects
  • Layout Rendering:
  • If you have the latest API 19 SDK installed, Nexus 5 is available from the device list
  • Bug fixes:
  • A lot of bug fixes, including but not limited to issues 63534, 63624, 12222499, 63623, 63881, 63622, 58302, 63596, 63926, 64358, 63928, 64014, 63997.

New in Android Studio 0.4.0 (Dec 19, 2013)

  • Support for the new Android Gradle plugin, 0.7.0, which has improvements for render script, lint, BuildConfig, ProGuard, and additional features around source folders and flavors, along with many bug fixes. For more information, see the Build System documentation.
  • Note that Studio 0.4.0 requires the the new version of the Gradle plugin, so you have to migrate your projects to 0.7.0.
  • Studio now supports Gradle Offline mode. This is useful if you find yourself without a network connection, and your dependencies are using the plus-syntax to pick up the latest available version. In that case, Gradle will once per day (by default) connect to the artifact repository to see if there is a more recent version. If that network connection fails, the build fails. If you don't have a network connection, this is problematic. You can now open the Compiler > Gradle options and enable Offline mode, which will tell Gradle to ignore update-to-date checks:
  • The Asset Studio wizard is now available (until this point it was only available as part of the New Project wizard for generating launcher icons). Right click on a drawable folder and invoke "New > Image Asset":
  • You can also create nine-patch images now by right clicking on .png images and invoking "Create Nine Patch...".
  • A large number of bug fixes, particularly around SDK handling and project import/upgrade, but also to the rendering sandbox, custom view rendering, template handling, etc.
  • Initial Eclipse (ADT) project import. You can now directly import Eclipse projects (rather than having to export them to Gradle from Eclipse as in the past). This importer also makes structural changes to the import:
  • It migrates the project structure from the old ADT directory structure to the new Gradle-build system one
  • It removes inlined library projects that it recognizes (ActionBarSherlock, v7 GridLayout) and replaces the source code with a simple Gradle dependency to the corresponding library
  • Similarly it removes .jar files that it recognizes and replaces them with Gradle dependencies
  • It generates an import summary where it lists potential import issues (for example, if you were using library projects without manifest merging, there is potential manifest registration duplication now)
  • (The import does not yet fully support path variables and linked resources; this will be fixed in 0.4.1)

New in Android Studio 0.3.7 (Dec 4, 2013)

  • Gradle:
  • The experimental "Direct Gradle Invocation" mode is now the default. This should result in builds being about 20% faster, and the raw Gradle error output can now be found in the Gradle Console window. (You can turn off this mode in Settings > Compiler > Gradle). (The bug related to this with unsaved edits in Studio 0.3.6 has also been fixed.)
  • Improved error diagnostics. In addition to fixing error parsing for manifest merging errors, dex exceptions and multi-line javac errors, there are now import hyperlinks for resolving common import problems, such as missing platforms, missing support library repositories, or errors in local properties.
  • Improved SDK management. When opening a project which points to a specific SDK (via its local.properties file), Studio will check whether that SDK corresponds to the IDE SDK, and if not, will ask the user whether to use the Studio one or the project one. This ensures that IDE and command line builds are consistent.
  • "Add Library As..." on .jar files now works for Gradle projects; it adds in a proper dependency in the build.gradle file
  • New projects now create an empty gradle.properties file (with some commented out suggestions) to make it easier to tweak VM parameters for Gradle
  • Repositories for dependencies can now be edited in the Project Structure Dialog
  • Layout Editing:
  • Layout rendering sandbox: Custom views in layouts are now rendered in a sandbox such that they do not accidentally overwrite files or mistakingly execute commands if they believe they are running in a real Android environment. Note that if you download third party custom view libraries and insert references to these in your own layouts, and then view the layouts in the layout editor, the layout renderer will execute the custom view code in the IDE process with your desktop privileges. We do not promise a completely secure environment for libraries on the desktop; when adding third party libraries you should trust the source or validate that the Gradle files (which are executed at build time) and its custom views (which are executed in the layout editor) are safe. However, the layout rendering sandbox takes some initial steps to locking down access for custom views from doing thing accidentally. Thanks to Lawrence Angrave for discovering and reporting this potential danger.
  • RTL Support Improvements: When editing RelativeLayouts in the layout editor, the editor now creates RTL-aware layouts (using start/end in addition to (or instead of, depending on the minSdkVersion) left/right.
  • RTL Multi-configuration Editing: You can now edit your layouts and simultaneously see your layout rendered in an RTL context.
  • Templates:
  • New templates for adding custom views, services, broadcast receivers, fragments, daydreams, etc. To invoke, right click on the target package and invoke New > Android Component.
  • Lint:
  • New check looking for potential PRNG (pseudo random number generator) problems. Looks for code which may be affected by issues described in http://android-developers.blogspot.com/2013/08/some-securerandom-thoughts.html.
  • New lint check which looks for calls to Context#checkCallingPermission without using the result of that call (which probably meant to call Context#enforceCallingPermission instead).
  • New lint check which looks in Gradle projects for permission for use of the mock location provider permission and makes sure these are only specified in debug manifests. This helps avoid accidentally requesting that permission in release builds. There's also a quickfix in Studio for migrating the permission to a debug-specific manifest, though a bug prevents it from working if the debug folder already exists (fixed for next release).
  • Bug fixes:
  • Fix weight handling when resizing elements in a LinearLayout
  • Properly compute bounds of tags in layouts
  • Fix GridLayout editing with API 19
  • Adding activities via templates no longer clobber dependencies in the build.gradle file
  • API check now properly checks nested calls
  • Detect and abort layout rendering on cyclic parent styles
  • Don't flag hex color definition characters as potential typos
  • Fix bug where on startup, layout XML files would be missing the layout editor tab
  • Make Add Translation and Render Locales use only local locales, not all locales referenced by libraries

New in Android Studio 0.3.6 (Nov 15, 2013)

  • Issue 62146: Can't open New Module wizard, IDE freezes
  • Issue 61939: Recent edits are not reflected in compiled app. (Also fixed related issues 62129 and 62168).
  • New Intellij EAP merge (to 132.1045: Release notes)
  • Issue 60916: Studio unable to run tests of a Java module
  • Issue 61488 : exclude build/res folder
  • Issue 61860: File choosers in Project Structure should create relative paths
  • Issue 61829: Allow Project Structure to deal with relative module names
  • Issue 60729: Mark res folders as resource folders
  • Issue 61769: Fix template such thatNavigationDrawer does not crash on older versions
  • Other project template changes (for example, move name primary module "app" and don't always append "Project")
  • New lint check which finds usages of check*Permission without consulting the return value (probably meant to use enforce*Permission)

New in Android Studio 0.3.5 (Nov 12, 2013)

  • Issue 62011: java.lang.NoClassDefFoundError: Could not initialize class org.gradle.internal.nativeplatform.filesystem.FileSystems$DefaultFileSystem
  • Certain source folders were incorrectly marked as generated folders

New in Android Studio 0.3.4 (Nov 9, 2013)

  • Updated platform to IntelliJ 13 beta.
  • The SDK manager is now available from Welcome Wizard so you can configure SDKs before creating a project
  • Many other bug fixes
  • Many bug fixes
  • Gradle:
  • New Module editor. In 0.3.2 we introduced the module dependency editor where you could add libraries graphically; this is now just one tab among many other categories of module data you can edit: flavors, signing configurations, build types, etc. This area is still being actively worked on.
  • Gradle will now build the selected modules rather than all modules when Make is invoked with a selection.
  • Gradle Console. If you enable the new experimental in-process Gradle build mode (Compiler > Gradle > Use in-process build (faster, experimental)), you can open a Gradle Console which will show the full, raw Gradle output rather than just the simplified errors listed in the Messages window. The window does not open automatically, but the Messages window has a "Show Console Output" button in the left-hand-side toolbar, and it also adds a "See complete output in console" message you can double click on to trigger.
  • "Clean project" now runs a clean target to clear all build output.
  • A file-locking bug affecting Windows users (issue 61300) has been fixed. This bug would prevent cleaning and rebuilding a project as soon as a layout file had been opened.
  • Layout Editor:
  • Support for using sourceCompatibility 1.7 even the IDE is running on JDK 1.6 (as it is by default on Mac OSX for example, even when JDK 1.7 is installed). We now convert the bytecode of compiled classes on the fly such that they can be executed by the layout renderer.
  • Support non-rectangular shapes in Drawable render preview
  • Drop preview now shows more accurate widget bounds
  • XML editor:
  • When editing layouts, the layout_width and layout_height attributes are inserted automatically
  • The quote-matching bug (issue 11332) has been fixed
  • Namespace prefixes are now highlighted separate from attribute names
  • DDMS:
  • Dumpsys support. You can now click on the Dumpsys action in the toolbar, which will execute "adb dumpsys" on the connected device and display information in the editor about the selected process.
  • Nexus 5 device images for the screenshot feature (which optionally surrounds the screenshot with device art).
  • Nexus 5 metadata for creating virtual devices in the emulator
  • Templates:
  • Linked field editing. Editing parameter names such as activity names and layout names now dynamically update other suggestions. For example, if you change the activity name to "HomeActivity", the layout and fragment resource name suggestions change to "activity_home" and "fragment_home". It will also automatically pick unique names when appropriate such that you can create new activities without conflicting with existing ones.

New in Android Studio 0.3.2 (Nov 1, 2013)

  • Support for language features like the diamond operator, multi-catch, try-with-resources, strings in switches, etc.
  • Support for recording the device screen as a movie.
  • Debugger support for the new ArrayMap class
  • Drawable XML files. When editing drawable XML files, you get an instant preview on the right:
  • Menu XML files. Studio provides a sample rendering of the menu. This may not be accurate (since menu files can be used in various different contexts, and unlike layouts and drawables we are not directly running the framework code), but should still be helpful.
  • Widget XML files.

New in Android Studio 0.3.1 (Oct 24, 2013)

  • Fixed bug affecting the "New Activity" wizard (issue 61258 and issue 61269)
  • Fixed bug which prevented popup windows from working correctly on some Ubuntu installs with JDK 6 using the Darcula theme (issue 61213)
  • Fixed bugs in the SDK/JDK selection dialog
  • We changed the Toolbar visibility default to on

New in Android Studio 0.3.0 (Oct 22, 2013)

  • Updated the IDE base to the IntelliJ EAP build #132.637 sources.
  • Gradle Builds:
  • Much faster gradle project import: Importing one of our apps went down from two and a half minutes to fourteen seconds. This speedup also applies to syncing your existing project with Gradle, reopening existing projects, etc. Furthermore, we now only run the build target to generate sources, not a full compilation.
  • The improved performance is made possible by changes in Gradle 1.8 and Android Gradle plugin version 0.6.+, which are now the minimum supported versions. If you open an already imported project that uses the Gradle wrapper pointing to an old version of Gradle you will be able to automatically fix the wrapper properties and re-import the project.
  • The Gradle 0.6.3 plugin is now also available (or soon available; it is staging on maven central, so should be available in the next few hours), which improves resource merging handling (better error handling, more accurate error locations, source element references no longer merged into the R class documentation, etc).
  • NOTE: Earlier today we published plugin 0.6.2 with incorrect dependencies. Make sure you're using 0.6.3 (or 0.6.1). To be sure, you can explicitly specify "0.6.3" instead of "0.6.+" in your build.gradle files, or run gradlew on the command line with --refresh-dependencies to ensure that Gradle looks up the most recent available version.
  • Gradle Dependency Editing:
  • You can now edit your Gradle module dependencies (and add and remove modules) from the Project Structure dialog; you no longer need to edit your build.gradle file by hand.
  • Template Support:
  • Revised new blank activity template with support for action bars on older versions of Android (via the appcompat library), and new navigation styles such as using the navigation drawer.
  • Layout Rendering:
  • Support for xliff strings. It will now insert id (or if available example) attributes into the layout editor preview strings.
  • As usual, many bug fixes:
  • From b.android.com: 60801, 60823, 59444, 60848, 57904, 60266, 60893, 60879, 60820, 61050, 61113, 60894
  • Other bugs and crashes not tracked in the issue tracker

New in Android Studio 0.2.13 (Oct 9, 2013)

  • Bug fixes:
  • The patch mechanism has been fixed (which prevented 0.2.12 from being sent out on the canary channel)
  • From 0.2.12: The Breakpoints window does not work properly (issue 60721)
  • From 0.2.12: When using the Android Gradle plugin version 0.6.1, using JDK 7 in Studio does not work. ("Unable to find a JDK 1.6 installed", issue issue 60724)
  • The Export APK dialog has been restored for Gradle projects (issue 60762):
  • The correct way to release an apk when using a Gradle project is to include your signing configuration inside your build scripts. This will allow you to properly sign the release versions of all the variants of your application by doing a "gradlew assembleRelease" from the command line.
  • We are working on coming up with a UI that achieves the same effect without having to edit the build.gradle files. (Issue 56532)
  • In the meantime, if you still choose to use the wizard, please make sure that you select a release version of your APK to sign and not a debug version.

New in Android Studio 0.2.11 (Oct 4, 2013)

  • Updated the IDE base to the IntelliJ EAP build #132.425 sources.
  • Of particular interest to Android Studio users is the new support for Gradle code insight and dependency resolving
  • New projects: Improved package validation. Android application package names have stricter package name requirements than Java packages: Package segments cannot start with an underscore, and only ASCII letters (and digits, dots and underscores) can be used.
  • Misc bug fixes in the gradle build area.
  • Canary and Dev channels:
  • We now have additional channels. We will continue to post ~weekly releases, and those will initially go to the Canary channel. If no critical issues are uncovered we will then post the build to the Dev channel.
  • You can find more details on the Android Studio channels on the Preview Channel page.
  • To change which channel you are updating Studio from, go to your Settings or Preferences dialog, select the Updates category on the left and then make your selection on the right.
  • Layout rendering:
  • Support for designtime attributes, which allow you to show sample data in your layouts without affecting the runtime app. For more details, see Designtime Layout Attributes.
  • Included layouts now render the edited (unsaved) contents of other editor buffers
  • The layout preview is smarter about when to trigger a re-render; for example, it will ignore edits that affect only whitespace or comments, edits to an attribute that does not yet have a value, etc.
  • There's now a large progress indicator in the center of the view for the first render, and a smaller indicator in the upper right corner when re-rendering after editor switches.
  • Fixed issue where the render preview window sometimes didn't open automatically on IDE restart, and fixed issue where switching between files would sometimes briefly show the old layout contents.
  • Improved error message when you accidentally use a drawable resource in place of a color resource
  • Text editing:
  • Resource inlining: Dimension and integer resources are now also inlined, as well as string resources outside method calls. Perhaps more importantly, the long standing issue of resource folds showing stale contents or appearing on the wrong code statement has been fixed (see bug 60529).
  • The editor spell checker is now aware of the target language used in a Android string resource file, and will no longer use the English dictionary to flag "errors" in for example Spanish text in values-es/strings.xml. If your base values/ folder is not in English, use the tools:locale attribute on the root element to let the tools know what your default language is.
  • Theme resolution chain display (added in 0.2.10, see Android Studio 0.2.10 Released) now also handles theme attributes (such as ?foo)
  • Fixed XML validation for dimensions to allow floating point numbers
  • Android Device View, LogCat:
  • Console code folding for elided stack frames. When an exception is nested, the VM will truncate the stack display of the inner exception. It does this when it gets to a point where the rest of the stacktrace is the same as in the outer stacktrace, but many users were not aware of that and thought they were missing vital information. In LogCat inside Android Studio, we now create a fold region on the "4 more ...lines" section, and when you expand it we reconstruct the full stack trace.
  • You can now view the logcat output of a particular process by just clicking on the process in the device panel. If you don't want this behavior, you can deselect the toggle button "Only show logcat from selected process" on the logcat toolbar.
  • Lint:
  • New check for duplicate words in strings
  • Fixed some bugs (which had resulted in false positives in source code involving enums or string arrays)

New in Android Studio 0.2.10 (Sep 25, 2013)

  • Updated the IDE base to the IntelliJ EAP build #132.325 sources. The release notes for this version of the IDE which lists the bugs fixed are here: This fixes the dark theme todo-token color many users reported
  • New integrated performance trace file viewer: If you already have .trace files that you have generated programmatically or with DDMS, just open it in Android Studio with File > Open. Otherwise, open the DDMS view (View > Tool Windows > Android), select your application, and click on the “Start Method Tracing” icon.
  • Fixed miscellaneous bugs, including a deadlock
  • Improved Quick Documentation (View > Quick Documentation, or F1):
  • Now resolves framework resources as well, such as @android/string/ok => "Ok"
  • The quick documentation now shows the resource resolution chain. Here we're showing quick documentation for @android:color/primary_text_dark; in addition to resolving this to the color #ffffff, which is shown, it also shows the color reference chain was @android:color/primary_text_dark, which pointed to a statelist file primary_text_dark.xml, and from there we picked up the default state to go to @android:color/bright_foreground_dark, which resolves to @android:color/background_light, and that color is finally defined as #ffffffff. (There are some additional fixes for this feature to handle theme attributes (?name) in the preview build.)
  • As shown above, we now preview colors (previously we only showed drawable bitmaps, and textual resources such as strings and dimensions).
  • For array resources, we now display the elements of the arrays
  • In Java files, resource documentation and editor margin previewing now properly handles android.R resources.
  • The feature which displays icons in the left hand gutter for drawable references is now finds the smallest density bitmaps of a resource to use for editor margin previews. Since large images are ignored for performance reasons, this makes more icons eligible for editor preview.
  • Layout Rendering:
  • Layout rendering now detects cycles in layout dependencies and displays the invalid chain
  • Added new Nexus 7 device specs to the preview render device list along with device frame art (which also works for the Screenshot action)
  • If you have the Android source code installed for the Android version currently being rendered, and a custom view throws an exception during painting, the stack frame displayed in the error output will hyperlink directly to the relevant code in the Android source code for frames in the android package.
  • Editing:
  • Indirect AAR library dependencies are now handled correctly
  • Gradle Integration:
  • Much faster project import! When using Gradle 1.8 and the Android Gradle plug-in 0.5.7 you'll experience considerably faster project imports.
  • Android Studio now saves Gradle's VM options across sessions
  • Further improvements to the Gradle output parser: it now recognizes duplicate resource errors specifically, and adds separate error messages pointing directly to each of the declaration locations in the separate files
  • Fixed bug where it was not possible to import a project using the Gradle wrapper with Gradle 1.6

New in Android Studio 0.2.9 (Sep 17, 2013)

  • Updated the IDE base to the IntelliJ EAP build #132.197 sources. The release notes for this version of the IDE which lists the bugs fixed are here: http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+13+132.197+Release+Notes. This might fix the subversion bug many users have reported (see issue 60012)
  • New "Extract Dimension Resource" refactoring
  • Improved bitmap caching in the layout editor, which should help with the out of memory exceptions people have reported (see issue 59498)
  • Fixed gradle error message output parsing from merged value xml files
  • Allow projects to be created when missing gradle dependencies
  • Fix bug in lint project handling which sometimes led to stack overflow exceptions

New in Android Studio 0.2.8 (Sep 12, 2013)

  • IDE:
  • Updated the IDE base to the IntelliJ EAP build #132.106 sources. The release notes for this version of the IDE are here: http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+13+132.106+Release+Notes.
  • Lint:
  • Lint is now properly supported in the IDE. In particular, it now understands library dependencies, such that you for example will no longer get warnings from third party libraries, e.g. unused resources in the appcompat library:
  • Several lint checks were tweaked: it no longer complains about missing CREATOR fields in interfaces, the API check handles nested conditionals for SDK_INT checks, and the Handler leak check no longer flags handlers using specific loopers
  • Gradle Integration:
  • The project structure dialog now shows custom content for Gradle projects. In particular, there is a new panel where you can choose a single installation home for your Android SDK; you no longer need to go and create individual SDK instances for each build target:
  • We plan to add additional panels here where you can edit your Gradle project structure graphically, but for now you still need to edit your Gradle files manually.
  • We've also hidden panels that do not apply since information edited there is thrown away during model syncing with the Gradle files.
  • Removed actions from the Build menu that do not apply in Gradle projects (such as Generate Ant Build.)
  • Importing Gradle projects now intercepts attempts to import the directory rather than the build.gradle file, which in earlier versions would use the wrong type of import. Similarly, we detect attempts to directly import projects from ADT and suggests exporting as a Gradle project from Eclipse first
  • Support for features in the next version of the Android plugin (not yet released), such as importing projects with unresolved dependencies, supporting a compile-only action, etc
  • Fix misc bugs, such as layout render error mesage handling for DatePicker, a bug which caused adding missing sizes to replace @dimen sizes, and the XML source editor bug where it would incorrectly warn about "Fix "Namespace '' not bound".

New in Android Studio 0.2.7 (Sep 6, 2013)

  • IDE:
  • Updated the IDE base to the IntelliJ EAP build #132.27 sources (previously, we've used nightly snapshots)
  • Editing:
  • .aar (Android Archive files, which are used when you for example use a Gradle dependency on the support library) are now properly handled by the editors. In earlier versions, the layout editor could render resources from .aar dependencies, but now code completion, XML resource validation etc. also properly handle these dependencies.
  • The IDE will no longer auto-import the "android.R" class, since that can easily lead to confusion between the imported R class and the application R class. Similarly, if you use the Preferences > Code Style > Java > Imports > Insert Imports for Inner Classes mode, it will now deliberately exclude R classes.
  • The API detector now properly checks methods inherited through the support library classes
  • An important bug related to file refreshing after builds was fixed; this should fix cases of the R class not being resolved and shown in red in the editor.
  • XML validation now properly handles empty parent style references (used in the appcompat library), and the layout rendering now handles HTML entities in style definitions
  • XML code completion now works on @+id/ and theme (?attr) prefixes.
  • Gradle Integration:
  • The Gradle tool window now displays all available tasks for a Gradle-based Android project. We are currently displaying all available tasks, including auto-generated ones which may not be intended for users; we will be cleaning up this lists in future updates.)
  • The gradle output parser has been revamped; it should now properly include source locations for errors in resource merging, and unrecognized output is added as information items, so you should no longer need to go to a terminal and run gradlew to get full diagnostic information; it should all be available within the IDE.
  • HTTP proxy settings in the IDE are now passed to Gradle, and gradle connection failures during import/sync point to the proxy configuration panel
  • Important fixes to library dependencies in Gradle project sync
  • The New Project template now offers the Android support library, the Android compatibility library and the Grid Layout backport library as optional dependencies; when the corresponding checkboxes are selected the right dependencies are added to the Gradle files
  • Fix misc user reported crashes

New in Android Studio 0.2.6 (Sep 2, 2013)

  • Merge in new IntelliJ changes.
  • Further fixes to Gradle project import after the big switch to in-process imports in version 0.2.4; improved error diagnostics, particularly around connection failures.
  • Fix the layout editor resource lookup bug ("Couldn't resolve resource @string/hello_world")
  • Automatically apply the Android XML code style if a code style hasn't already been customized. This will make it possible to automatically order XML attributes (check the "Rearrange Entries" checkbox in the "Code > Reformat Code..." dialog.)
  • When creating new templates, open the project view if necessary and select them there as well (in addition to opening the editor)
  • Further resource infrastructure work (for example, layout editors don't have to wait for Gradle project sync at startup) and template infrastructure work
  • Windows users: Fix the location of the IDE settings ("config" folder -- see issue 56230). See below for details.

New in Android Studio 0.2.5 (Aug 17, 2013)

  • This is a small release which fixes a couple of issues that came up in 0.2.4: toolbars disappearing unpredictably, and several bugs around SDK management from gradle.

New in Android Studio 0.2.4 (Aug 15, 2013)

  • Merged with the latest IntelliJ 13 development snapshot. This included a lot of Android editor work, including:
  • Support for XML attribute documentation. Until now, only XML tags had documentation, but as of this release you can invoke F1 (View | Quick Documentation) on an XML attribute to view its SDK documentation. If you've enabled auto-popup of documentation (Options > Editor > Code Completion > Autopopup code completion) this will also show the documentation while completing.
  • Ability to jump between a layout and its associated activity. Navigate | Related File... will now let you jump between a layout and its associated activity. You can also click on the editor margin icons which are shown for this purpose.
  • Intention to create missing onClick handlers (as well as navigation for existing click handlers).
  • Many, many other editor fixes, such as the ability to navigate to parent styles in theme definitions, XML flag completion improvements, XML dimension unit completion, app namespace attribute handling in code completion, navigation to permissions, actions and categories in manifest files, and ability to work with SDK sources. For details, see IntelliJ YouTrack issues 57990, 91585, 102168, 102168, 102176, 102173, 92709, 102169, 102177 and 111650. And that's just the Android specific fixes; the platform itself had hundreds of CLs. Note however that we grabbed a daily snapshot, not a stable milestone.
  • Gradle integration improvements:
  • Project synchronization with Gradle, during startup, is now non-blocking.
  • Importing or creating a Gradle-based Android project does not use RMI anymore, resulting in less overhead. We are currently working with the Gradle and IntelliJ teams on making project import faster.
  • Renaming a module folder (not a module itself) updates the project’s settings.gradle file.
  • In addition to providing better error messages during project import, Android Studio also provides links to actions that can help users solve the relevant issue.
  • Updated the bundled Gradle version in Android Studio to 1.7.
  • Layout Editing:
  • The chosen rendering locale is now project wide (except for layouts located in locale-specific layout folders). Switching to different locale will now apply to all layouts in the same project. As part of this work the erratic locale behavior of locales (which could open up in random locales) should be fixed.
  • Rendering targets are now also project wide, and there is a new "Automatically Pick Best" mode, on by default, which causes the rendering target to pick the best available version.
  • Some bugs related to rendering custom views should be fixed.
  • Lint:
  • There is a new lint check which makes sure that methods which override View#onDetachedFromWindow also end up calling super.onDetachedFromWindow(). Failure to do this can lead to significant memory leaks.
  • There is a new lint check which looks for additional types of typos in namespace declarations.
  • Lint's API check now handles non-numeric minSdkVersion declarations in the manifest (e.g. when using code names for preview platforms.)

New in Android Studio 0.2.3 (Aug 2, 2013)

  • This is a minor release that includes more user-friendly error messages when importing or creating a Gradle-based Android project.

New in Android Studio 0.2.2 (Jul 30, 2013)

  • Updated Cloud Endpoints to version 0.2.6.
  • Module dependencies are exported, allowing other modules in the project to use them.
  • Bug fixes, including the one that forced users to have a local.properties files to build the project inside Android Studio.

New in Android Studio 0.2.1 (Jul 19, 2013)

  • Gradle IDE integration fixes:
  • New Gradle compiler settings page. You can configure the settings that affect compilation of Gradle-based Android projects in one place.
  • To avoid confusion, compiler options in top-level settings page that affect compilation of Gradle-based Android projects are hidden and replaced by the new Gradle-aware compiler settings page.
  • Fixed dependency resolution on Studio modules outside of a Studio project. For this case, project import will work, but dependencies are set to the compiled .aar file. Since it affects debugging, Studio displays the following warning
  • It is possible to pass extra JVM arguments to Gradle for project import in the top-level Gradle settings page. The JVM arguments setting is shared with the Gradle compiler setting page.
  • Bug fixes, including the "Task 'assemble' not found" one.

New in Android Studio 0.2.0 Build 130.737825 (Jul 12, 2013)

  • Merged in the latest IntelliJ codebase changes. In addition to new features this includes fixes for issues reported by Studio users such as tweaks to Linux font sizes and font rendering.
  • Save Screenshot support for the layout preview and layout editor windows
  • Lint bug fixes
  • And fixes for a number of crash reports; thanks for submitting these.
  • Gradle IDE integration fixes:
  • Android Gradle plug-in 0.5.0. This new version of the plug-in is not backwards compatible. When opening a project that uses an older version of the plug-in, Studio will show the following error as a balloon in the upper right corner of the IDE:
  • You will need to change the version of the Android Gradle plug-in to 0.5.0. Just click the link “Search in build.gradle files” to look for the places where this change needs to be made. (See the Troubleshooting section below for more info).
  • 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."
  • Inter-module dependencies are now properly configured. Instead of depending on the compiled output, we link to the module itself, making it possible to debug code.
  • Updated to the new Gradle Plugin version 0.5:
  • 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.
  • Release notes for the new Gradle plugin are here: http://tools.android.com/tech-docs/new-build-system
  • Further work on the new resource repository used for layout rendering, resource folding in the editor, etc:
  • 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. In the below screenshot for example, we have flavors f1/f2 and fa/fb, and the string has both a default translation and a values-no version only in flavor fa, and this is all shown in the table which pops up when you press F1 with the caret on the string key name:
  • You can also invoke Quick Documentation when editing a strings.xml file by invoking it in the name value attribute, to see all the alternate translations. Note that this feature is not just specific to strings; you can invoke Quick Documentation to see the various resource overlays of dimensions, drawables, etc.
  • 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
  • Template bug fixes:
  • New projects now get a properly configured local.properties file on creation.
  • Various bug fixes to the new project/module/activity wizards

New in Android Studio 0.1.9 Build 130.729444 (Jul 2, 2013)

  • Improvements:
  • Much faster Gradle builds within the IDE, particularly for projects with multiple modules. The build performance should be roughly the same as running gradle on the command line.
  • Instrumentation test support, which was added in 0.1.8, now also supports debugging instrumentation tests.
  • Various bug fixes.

New in Android Studio 0.1.8 (Jul 2, 2013)

  • Changes:
  • Support for running instrumentation tests on device. Tests should be created in the folder "src/instrumentTest/java" (of the main application or a library) following the conventions described at http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing
  • A brand new implementation of a resource manager in the IDE, used for layout preview, editor resource folding, etc. This should address many bugs reported in earlier versions (such as @id attributes not being handled properly in RelativeLayouts, bugs with opening layouts after making edits, etc, and should be more performant.
  • New lint check validating device admin receivers