Recent Changes

    The following features and bug fixes were recently checked in. For complete details, see the git changelogs at

    Android Studio Beta Released

    posted Jun 27, 2014, 9:25 AM by Tor Norbye

    We've just released Android Studio Beta! The build number for the first beta build is 0.8.0. And we've just released a minor update to the first beta build: 0.8.1.

    NOTE: For various technical reasons we will not offer a patch upgrade from 0.6.1 to 0.8, so you'll need to download and install the full IDE instead. If you have already installed 0.8.0, you can patch update from 0.8.0 to 0.8.1.

    In addition to bug fixes, the primary new features in Android Studio Beta are:
    • 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. <ripple>, <animated-selector>, 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.

    Note: You can see many of these new features in action in the "What's New In Android Development Tools" talk; the IDE demo starts at around 19:30.

    Installation
    As noted above, you cannot use the IDE update mechanism to update from a canary build to the new beta build: you will need to download the full version. You can find the download here:

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary

    What's New in Android Development Tools

    posted Jun 27, 2014, 9:09 AM by Tor Norbye

    At Google I/O 2014, we gave a talk entitled "What's New in Android Development Tools" where we covered recent improvements the tools, demoed new Android Studio features, the new L and Android TV system images and briefly discussed our future plans. The video from that talk is available on YouTube:

    What's New in Android Development Tools


    Android Studio 0.6.1 Released

    posted Jun 12, 2014, 3:02 PM by Tor Norbye

    We've just released Android Studio 0.6.1, with the following improvements:
    • 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:
      Here's another screenshot which shows the minSdkVersion dialog helping you choose which minSdkVersion to target:
    • 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.

    Installation
    If you are already running Android Studio, just restart it, or manually check for updates via Help > Check for Update... (on OSX, look in the Android Studio menu).  This will download and install a small patch rather than download a full IDE image.
    If you need to download a full install, visit the Android Studio Canary Build 0.6.1 page.

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary

    Android Studio 0.6.0 Released

    posted Jun 6, 2014, 1:09 PM by Tor Norbye

    We've just released Android Studio 0.6.0. There are no new user-visible features in this build relative to Studio 0.5.9 from last week. 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.

    NOTE: This new version of Studio requires version 0.11 of the Android Gradle plugin, also released today. When you open your project you'll get a sync warning like this:
    Clicking on the hyperlink will update your project to use 0.11.0 instead.

    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:

    Installation
    If you are already running Android Studio, just restart it, or manually check for updates via Help > Check for Update... (on OSX, look in the Android Studio menu).  This will download and install a small patch rather than download a full IDE image.
    If you need to download a full install, visit the Android Studio Canary Build 0.6.0 page.

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary

    Android Studio 0.5.9 Released

    posted May 29, 2014, 5:18 PM by Tor Norbye

    We've just released Android Studio 0.5.9 with the following improvements:
    • Updated to IntelliJ 13.1.3 RC, picking up the following builds: 135.815135.863, and 135.908.
    • 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.
    • Many bug fixes!
    Installation
    If you are already running Android Studio, just restart it, or manually check for updates via Help > Check for Update... (on OSX, look in the Android Studio menu).  This will download and install a small patch rather than download a full IDE image.
    If you need to download a full install, visit the Android Studio Canary Build 0.5.9 page.

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary

    Android Studio 0.5.8 Released

    posted May 8, 2014, 9:04 AM by Tor Norbye

    We've just released Android Studio 0.5.8 with the following improvements:
    • 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 (release notes)
    • 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". Take for example the rating-bar layout from the Google I/O 2013 app:
        You can now edit this rating bar layout embedded within another layout which uses it, such that you can see how it appears in context:

        The outer layout is shown partially translucent to make it more obvious which parts of the layout are editable and part of this layout, and which parts are not. Note also how the Component Tree on the right will list the name of the surrounding layout. When you invoke Extract Include, the included layout is shown in the above way automatically.
      • 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 (helps uncover problems like this stackoverflow question)
      • 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.
      • 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!
    Installation
    If you are already running Android Studio, just restart it, or manually check for updates via Help > Check for Update... (on OSX, look in the Android Studio menu).  This will download and install a small patch rather than download a full IDE image.
    If you need to download a full install, visit the Android Studio Canary Build 0.5.8 page.

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary

    Tools 22.6.3 and ADT 22.6.3 Released

    posted Apr 29, 2014, 12:14 PM by Tor Norbye

    ADT 22.6.3 and Tools 22.6.3 are now available. This is a bug fix release addressing a couple of bugs related to the Android Wear SDK.

    Android Studio 0.5.7 Released

    posted Apr 25, 2014, 10:02 AM by Tor Norbye

    We've just released Android Studio 0.5.7. This version is essentially the same as 0.5.6, with a single bug fix a crash in the project structure dialog.

    Android Studio 0.5.6 Released

    posted Apr 24, 2014, 3:43 PM by Tor Norbye

    We've just released Android Studio 0.5.6 with the following improvements:
    • Bug fixes for several critical bugs reported in 0.5.5. Thanks for your help!
    • 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
    Installation
    If you are already running Android Studio, just restart it, or manually check for updates via Help > Check for Update... (on OSX, look in the Android Studio menu).  This will download and install a small patch rather than download a full IDE image.
    If you need to download a full install, visit the Android Studio Canary Build 0.5.6 page.

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary

    Android Studio 0.5.5 Released

    posted Apr 16, 2014, 5:00 PM by Tor Norbye   [ updated Apr 16, 2014, 5:01 PM ]

    We've just released Android Studio 0.5.5 with the following improvements:
    • Update to a new IntelliJ 13.x EAP build: 135.667. This picks up the following tags:
    • 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:
        Choosing the first item here will insert R.layout at the caret location and import the R class if necessary.
      • 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.

        Notice how for the Nexus 7 and Nexus 10 devices, it points to a different layout XML files in sw600dp which will be used on those devices rather than the current default layout file. Note also that this is not specific to devices. If you have a landscape-specific version of a layout, switching to that orientation has the same effect (and similarly for locale specific layouts) :
      • 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!
    Installation
    If you are already running Android Studio, just restart it, or manually check for updates via Help > Check for Update... (on OSX, look in the Android Studio menu).  This will download and install a small patch rather than download a full IDE image.
    If you need to download a full install, visit the Android Studio Canary Build 0.5.5 page.

    Problems?
    If you run into problems, be sure to check the Known Issues page which we'll update as necessary.


    1-10 of 163