Skip to main content
Essentials
Build AI experiences
Build AI-powered Android apps with Gemini APIs and more.
Get started
Get started
Create your first app. Use Compose for UI and adaptive app development to support multiple device form factors.
Hello, world!
Adaptive apps
Compose for UI
AI-powered IDE
Training
Monetization with Play ↗️
Optimize by form factor
Build apps that optimize the user experience on phones, tablets, foldables, cars, XR, and more.
Phones, tablets, foldables
Android for Cars
Android TV
Android XR
Googlebook
ChromeOS
Wear OS
Build by category
Learn to build for your use case by following Google's prescriptive and opinionated guidance.
Games
Camera & media
Social & messaging
Health & fitness
Productivity
Enterprise apps
Get the latest
Stay in touch with the latest releases throughout the year, join our preview programs, and give us your feedback.
Latest updates
Experimental updates
Android Studio preview
Jetpack & Compose libraries
Wear OS releases
Privacy Sandbox ↗️
Design & Plan
Excellent Experiences
Build the best experiences for your best users.
Learn more
UI Design
Design a beautiful user interface using Android best practices.
Design for Android
Mobile
Desktop experiences
XR Headsets & XR Glasses
AI Glasses
Widgets
Wear OS
Android TV
Android for Cars
Architecture
Design robust, testable, and maintainable app logic and services.
Introduction
Libraries
Navigation
Modularization
Testing
Kotlin Multiplatform
Quality
Plan for app quality and align with Play store guidelines.
Overview
Core value
User experience
Accessibility
Technical quality
Excellent Experiences
Security
Safeguard users against threats and ensure a secure Android experience.
Overview
Privacy
Permissions
Identity
Fraud prevention
Develop
Gemini in Android Studio
Your AI development companion for Android development.
Learn more
Get Android Studio
Core areas
Get the samples and docs for the features you need.
Samples
Multidevice support
User interfaces
Background work
Data and files
Connectivity
All core areas ⤵️
Tools and workflow
Use the IDE to write and build your app, or create your own pipeline.
Write and debug code
Build projects
Test your app
Performance
Command-line tools
Gradle plugin API
Android Bench
Device tech
Write code for form factors. Connect devices and share data.
Phones, tablets, foldables
ChromeOS
Android for Cars
Android TV
Android XR
Wear OS
Android Health
Better Together
All devices ⤵️
Libraries
Browse API reference documentation with all the details.
Android platform
Jetpack libraries
Compose libraries
Google Play services ↗️
Google Play SDK index ↗️
Google Play
Play Console
Publish your app or game and grow your business on Google Play.
Go to Play Console
Learn more ↗️
Fundamentals
Learn how to engage users, monitize, and secure your app.
Play Monetization
Play Integrity
Play Policies
Play Programs ↗️
Games Dev Center
Develop and deliver games. Get tools, downloads, and samples.
Overview
Play Asset Delivery
Play Games Services
Play Games on PC
All Play guides ⤵️
Libraries
Browse API reference documentation with all the details.
Play Feature Delivery
Play In-app Updates
Play In-app Reviews
Play Install Referrer
Google Play services ↗️
Google Play SDK index ↗️
All Play libraries ⤵️
Tools & resources
Tools for publishing, promoting, and managing your app.
Android App Bundles
Brand & marketing
Play Console APIs ↗️
Blog
the Android Developer's Blog
Read the latest
Explore the authors →
Explore categories
Case Studies
Real-world results from real-world users. Explore how different teams use our tools to achieve their goals.
Events & Programs
Get the details on upcoming webinars, workshops, meetups, and special initiatives designed to help you grow.
Product News
Stay in the loop with the latest updates, feature releases, and behind-the-scenes looks at how we’re evolving.
Community
Discover stories from our users, spotlight features, and the collaborative projects that bring us all together.
How-tos
From quick tips to deep-dive tutorials, these step-by-step guides are designed to help you work smarter and faster.
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Android Studio
Sign in
Camera & media dev center
Overview
Guides
Samples
Community
Essentials
More
Overview
Guides
Samples
Community
Design & Plan
More
Develop
More
Google Play
More
Blog
More
Android Studio
Get started
Create a basic media player using ExoPlayer
Create a basic video editor using Transformer
Codelab: Media streaming with ExoPlayer
Codelab: Getting Started with CameraX
Add audio and video
About audio and video
Introduction to Jetpack Media3
Media3 MediaSession
The Player interface
Control and advertise playback using a MediaSession
Background playback with a MediaSessionService
Serve a content library with a MediaLibraryService
Connect to a media app with a MediaController or MediaBrowser
Media3 ExoPlayer
About Media3 ExoPlayer
Getting started
Player events
Playlists
Media items
Media sources
Track selection
Downloading media
Preloading media
Overview
Preload manager concepts
Create a preload manager
Manage and play content
Ad insertion
Retrieving metadata
Live streaming
Network stacks
Analytics
Media types
DASH
HLS
SmoothStreaming
Progressive
RTSP
Images
Advanced topics
Digital rights management
Common Media Client Data (CMCD)
Debug logging
Troubleshooting
Customization
Battery consumption
APK shrinking
OEM testing
Helpful resources
Migrating to Media3
Migration guide
ExoPlayer to Media3 mappings
Demo application
Supported formats
Supported devices
Glossary
Release notes ⍈
Javadoc ⍈
GitHub
Blog
Media3 CastPlayer
About CastPlayer
Create a media player using CastPlayer
Customize CastOptions
Media3 Transformer
About Media3 Transformer
Getting started
Demo application
Transformations
Multi-asset editing
Overview
Arrange media items in a Composition
Preview edits with a CompositionPlayer
Tone mapping
Supported formats
Advanced topics
Customization
Troubleshooting
Release notes ⍈
Javadoc ⍈
GitHub
ExoPlayer Blog
Media3 Inspector
About Inspector module
Retrieve metadata
Extract video frames
Extract encoded samples
Media3 UI
Getting started
Views UI
PlayerView
Customization
Jetpack Compose UI
Getting started
Material3 Composables
Customization
Surface
Android TV
Jetpack MediaRouter
Routing overview
Controlling playback output routing
Defining playback output routes
Platform APIs and behaviors
Platform topics overview
Media formats
Supported media formats
Ultra HDR image format specification
Motion Photo image format specification
MP4 With Auxiliary Tracks Extension (MP4-AT) file format specification
Integrate Eclipsa video
Compatible media transcoding
MediaPlayer
About media player
Get started with Media Player
Manage state and resources
Background playback
Work with Digital Rights Management
Retrieve media from a content resolver
Controlling amplitude with VolumeShaper
Improve audio playback
Handling changes in audio output
Sharing audio input
MediaRecorder overview
Capture video and audio playback
Legacy media APIs
Media app architecture
Using a media session
Building an audio app
About audio apps
Building a media browser service
Building a media browser client
Media session callbacks
Building a video app
About video apps
Building a video player activity
Media session callbacks
Responding to media buttons
Add camera capabilities
Get started with camera
Camera intents
Camera extensions
About camera extensions
Supported devices
Choose a camera library
CameraX
About CameraX
Architecture
Configuration
Use cases
Add an image preview
Capture an image
Overview
Configure for optimization, flash, and file format
Zero-Shutter Lag
Analyze an image
Capture a video
Advanced topics
Extensions API
ML Kit Analyzer
Rotations
Transform output
Devices
Camera1 to CameraX migration guide
Camera2
About Camera2
Camera capture sessions and requests
Camera lenses and capabilities
Use multiple camera streams simultaneously
Screen flash implementation guidelines
Camera preview
HDR video capture
Multi-Camera API
Extensions API
Foldable devices
Low light photography and videography
Overview
Choose the best low light option
Low Light Boost AE Mode
Google Low Light Boost
Overview
Concepts
Low Light Boost client
Low Light Boost session
Camera (deprecated)
About Camera (deprecated)
Take photos (deprecated)
Record videos (deprecated)
Control the camera (deprecated)
Camera API (deprecated)
Enhance media with AI
Overview
Get started
Lifecycle in Bitmap mode
Lifecycle in Surface mode
Extend your app's reach
Overview
Android form factors
Media controls on phones and large screens
Design for large screens from the start
Pause and resume media using a keyboard
Extend your media app to Android for Cars
Extend your media app to Wear OS
Extend your media app to Android TV
Support Chromebooks in your camera app
Google Assistant
Google Assistant and media apps
Media apps on Google Assistant driving mode
Level up your media app
Overview
Considerations for a best-in-class app
Spatial audio
Work with HDR
Overview
HDR video playback
Color correct with look-up tables
Support Ultra HDR
Overview
Display Ultra HDR images
Edit Ultra HDR images
Using picture-in-picture
Media projection
Optimize for high quality
Overview
Using the media controller test app
Handling audio focus
Performance
Performance class
Measuring performance
Choosing the optimal codec using Performance Points
Setting an optimal frame rate using the Frame Rate API
Best practices for sharing video
Build AI experiences
Get started
Get started
Hello, world!
Adaptive apps
Compose for UI
AI-powered IDE
Training
Monetization with Play ↗️
Optimize by form factor
Phones, tablets, foldables
Android for Cars
Android TV
Android XR
Googlebook
ChromeOS
Wear OS
Build by category
Games
Camera & media
Social & messaging
Health & fitness
Productivity
Enterprise apps
Get the latest
Latest updates
Experimental updates
Android Studio preview
Jetpack & Compose libraries
Wear OS releases
Privacy Sandbox ↗️
Excellent Experiences
Learn more
UI Design
Design for Android
Mobile
Desktop experiences
XR Headsets & XR Glasses
AI Glasses
Widgets
Wear OS
Android TV
Android for Cars
Architecture
Introduction
Libraries
Navigation
Modularization
Testing
Kotlin Multiplatform
Quality
Overview
Core value
User experience
Accessibility
Technical quality
Excellent Experiences
Security
Overview
Privacy
Permissions
Identity
Fraud prevention