Documentation for app developers

Whether you're building for Android handsets, Wear OS by Google, Android TV, Android Auto, or Android Things, this section provides the guides and API reference you need.

Samples

Android
A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.
Java
This sample shows how to implement an audio media app that works across multiple form factors and provide a consistent user experience on Android phones, tablets, Auto, Wear and Cast devices.
Java
Samples for Android Architecture Components.
Java
A collection of samples demonstrating different frameworks and techniques for automated testing.
Kotlin
A fun to play quiz that showcases material design on Android.
C++
Android NDK samples with Android Studio.

Libraries

Libraries
This library provides APIs for essential app architecture tasks like lifecycle management and data persistence, so you can write modular apps with less boilerplate code.
Libraries

The Android Support Library offers backward-compatible versions of a number of features, including others not built into the framework.

Libraries
The Data Binding Library enables you to write declarative layouts.
Libraries
Android Test helps you build and run test code for your app.
Libraries
Google Play Billing provides a simple interface for sending billing requests and managing billing transactions with Google Play.

Developer Tools

Guide
You can install and run your app on the Android Emulator faster than with a physical device. It simulates various device configurations and hardware sensors, and it uses a snapshot to quickly resume exactly where you left off.
Guide
Android Studio uses Gradle, an advanced build toolkit, to automate the build process, while allowing you to define flexible, custom build configurations.
Guide
Android Studio includes a layout editor that allows you to build and preview your app UI by dragging elements into a visual design editor instead of writing layout XML by hand.
Guide
Poor app performance can ruin the user experience and destroy your app's reputation. If it ever responds slowly, shows choppy animations, freezes, crashes, or consumes a lot of power, your users will notice. To avoid these performance problems, use the Android Profiler to measure your app's memory, CPU, and network usage.

More education

Check out these other resources for beginner and experienced Android developers.

Codelabs are short, self-paced tutorials that step you through the process of building a particular type of app or adding a new feature to an existing app.
Google partnered with Udacity to teach Android development with online videos. Several free courses are available, or you can enroll in the Nanodegree program.
These online trainings provide a guided path through the process of learning how to build Android apps. Courses are available for new and advanced developers.

Latest videos