Android L Developer Preview
Final APIs now available!
Android 5.0 API Overview

Android 5.0 (Lollipop) is now out of preview and available to users.

If you previously developed apps with the L Developer Preview, be aware that various APIs and behaviors have changed, so you should update your SDK now to test your apps and take advantage of new features in Android 5.0.

To get the latest Android 5.0 SDK:

  1. Start the Android SDK Manager.
  2. In the Tools section, select the latest SDK Tools, SDK Platform-tools, and SDK Build-tools.
  3. Select everything under the Android 5.0 section, then click Install packages...
  4. Accept the licensing agreement for the packages, then click Install.
  5. If you previously installed the Android L Preview SDK, select all those packages in the SDK Manager and click Delete packages.

Now you're ready to develop and test on Android 5.0 with your normal workflow and begin publishing app updates to Google Play.

Get Started on Android 5.0

Now that Android 5.0 APIs are final:

  • The API level for Android 5.0 is 21, so be sure to update your app's manifest file to set targetSdkVersion to "21" when you begin testing:
    <uses-sdk android:targetSdkVersion="21" ... />
  • Google Play now accepts APKs with minSdkVersion or targetSdkVersion set to "21", so you can upload your updated apps today.

If you previously flashed your Nexus 5 or Nexus 7 with a preview system image, you should now update your device to the final factory system image. Download the appropriate image from Factory Images for Nexus Devices and follow the flashing instructions on that page.

Design with Material

Material design is a complete design philosophy for visual, motion, and interaction design across platforms and devices. The material design specification (preview) provides all the details for designers.

To get started with Material design in your Android app, update your targetSdkVersion to "21" and apply the new Material theme. For example, when creating a custom theme for your app, open your project's res/values/styles.xml file and extend the Material theme:

<resources>
    <style name="AppTheme" parent="android:Theme.Material">
        <!-- Customize the Material elements here -->
    </style>
</resources>

Then apply your custom theme to your application in the manifest file:

<application android:theme="@style/AppTheme">

Material design is more than just the UI theme, though. It's also about the way the app behaves—how elements move and transform when the user interacts with them. So Android 5.0 and the v7 support library provide new widgets and animation APIs that allow you to build interaction patterns described in the Material design specification.

All the Material design elements and interaction patterns provided by the UI styles and widgets are flexible, so you can adopt only what's appropriate for your app and retain a unique identity and experience for your product.

And Material design on Android isn't just for Android 5.0. The v7 support library has been significantly updated in revision 21 to make many of the Material design elements available when running on older versions of the platform.

For many more details about how to implement the Material look and feel, see Creating Apps with Material Design.

Build for Android TV

Android 5.0 provides a new platform for users to experience your app on a big screen. The Android TV experience is centered around a simplified home screen that allows users to discover your app's content with personalized recommendations and voice search, or select your app to launch into your fullscreen experience.

Making your app available on Android TV does not require that you build an entirely new app. Android TV is simply another form factor for the Android platform, so you can deliver the same APK that you provide for phones and tablets to TVs through Google Play. However, to make your app available on Android TV, you'll need to make some optimizations such as adding layouts for the big screen and adding support for remote control input. For more information about design guidelines, see TV App Quality.

Note: Google Play for Android TV will officially open for apps on November 3.

Android TV is also great new opportunity for Android games. If you'd like to make your games available on Android TV, be sure to optimize the user experience for the big screen by following the recommendations in Building TV Games.

To get started on Android TV, you need:

  • The Android 5.0 SDK packages from the Android SDK Manager, including the Android TV System Image so you can create an Android TV emulator.
  • An activity that's launchable from the Android TV home screen. This requires that you add the LEANBACK_LAUNCHER category to one of your activities. For example:
    <activity ... >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
        </intent-filter>
    </activity>
    
  • For a set of default styles that optimize your UI for the TV's leanback user experience, you should also apply the Leanback theme to your activity:
    <activity android:theme="@style/Theme.Leanback" ... >
    

You should also take advantage of the v17 leanback library, which provides the Leanback theme shown above, plus several widgets designed to make your UI beautiful and easy to navigate on the big screen, such as a widget that creates a set of large horizontal card views.

For more information about setting up a project for your TV app, building TV layouts, and handling controller input, see Building TV Apps.