Android Studio 3.3 Canary 11 is now available in the Canary and Dev channels.

If you have Android Studio set to receive updates on the Canary or Dev channel, you can get the update by choosing Help > Check for Updates (Android Studio > Check for Updates on Mac). Otherwise, you can download it here.

This update includes the following new features and changes in behavior:
  • When using Gradle Kotlin DSL, you can now set source and target compatibility in compileOptions via the following syntax:
    compileOptions {
      sourceCompatibility = JavaVersion.VERSION_1_8
      targetCompatibility = JavaVersion.VERSION_1_8
    }
  • 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.
    • For Java-only projects:
      • If the annotation processors you use all support incremental annotation processing, incremental Java compilation is enabled by default.
      • If however, one or more annotation processors do not support incremental builds, incremental Java compilation is not enabled. Instead, you can include the following flag in your gradle.properties file:
        android.enableSeparateAnnotationProcessing=true
        When you include this flag, Gradle executes the annotation processors in a separate task and allows the Android plugin to enable incremental mode for the Java compilation task.
    Note: If your project uses the Lombok annotation processor, incremental Java compilation may be disabled.
  • 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:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    

    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.


For information on new features and changes in previous releases of Android Studio, see the Android Studio Preview release notes. 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 you are also affected by it.