Android is a mobile operating system developed by a consortium of developers known as the Open Handset Alliance, with the main contributor and commercial marketer being Google. It is based on a modified version of the Linux kernel and other open source software and is designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of Android are also used on game consoles, digital cameras, PCs, and other electronics.
When asking about a "force close" or "unfortunately app has stopped" problem in your app or any other exception, always include the exception stack trace from Logcat in the question.
When adding additional tags to questions, please use the Android-specific tags such as android-intent, android-activity, android-adapter, and not individual tags like intent, activity or adapter.
For non-developer Android questions, see Android Enthusiasts Stack Exchange.
These tags are used for developer assistance by Android device manufacturers for their specific devices:
- Amazon: amazon amazon-appstore kindle-fire
- Asus: asus
- HTC: htc htcdev
- Sony: sony sony-xperia sony-smartwatch
- Google Nexus: google-nexus
- Google Pixel: google-pixel
- Samsung: samsung-mobilesamsung-touchwiz
- Meizu: meizu
- Motorola: motorola
- Nokia: nokia
- LG: lg
- Huawei: huawei
- OnePlus: oneplusoneoneplustwooneplusthree
- Oppo: oppo
- Xiaomi: xiaomi
- VSmart: vsmart
These tags are meant for libraries, services, etc. for Android that are monitored by their respective developers:
commonsware-cwac ( datadroidactionbarsherlock (now deprecated))
retrofit dagger leakcanary android-glide butterknife otto picassogreendao
- 1.0 Astro (specified as BASE by Google)
- 1.1 Bender (specified as BASE_1_1 by Google)
- android-1.5: 1.5 Cupcake
- android-1.6: 1.6 Donut
- android-2.0: 2.0/2.0.1/2.1 Eclair
- android-2.2: 2.2-2.2.3 Froyo
- android-2.3: 2.3-2.3.2/2.3.3-2.3.7 Gingerbread
- android-3.0: 3.0/3.1/3.2 Honeycomb
- android-4.0: 4.0-4.0.2/4.0.3-4.0.4 Ice Cream Sandwich
- android-4.2: 4.1/4.2 - 4.2.2 Jelly Bean
- android-4.3: 4.3 Jelly Bean MR2
- android-4.4: 4.4-4.4.3 KitKat
- android-l: Android L Preview
- wear-os: Wear OS
- android-5.0-lollipop: Android Lollipop
- android-5.1.1-lollipop: Android Lollipop MR1
- android-6.0-marshmallow: Android Marshmallow and Android M Preview
- android-6.0.1-marshmallow: Android Marshmallow
- android-7.0-nougat: Android Nougat
- android-7.1-nougat: Android Nougat 7.1
- android-o: Android O Preview
- android-8.0-oreo: Android Oreo
- android-8.1-oreo: Android Oreo (Go edition)
- android-p: Android P Preview
- android-9.0-pie: Android Pie 9.0
- androidq: Android Q Preview
- android-10.0: Android 10
- android-r: Android R Preview
- android-11: Android 11
Official API Documentation
- Android 2.0 Eclair (API Level 5)
- Android 2.0.1 Eclair (API Level 6)
- Android 2.1 Eclair (API Level 7)
- Android 2.2 Froyo (API Level 8)
- Android 2.3 Gingerbread (API Level 9)
- Android 2.3.3 Gingerbread (API Level 10)
- Android 2.3.4 Gingerbread (API Level 10)
- Android 3.0 Honeycomb (API Level 11)
- Android 3.1 Honeycomb (API Level 12)
- Android 3.2 Honeycomb (API Level 13)
- Android 4.0 Ice Cream Sandwich (API Level 14)
- Android 4.0.3 Ice Cream Sandwich (API Level 15)
- Android 4.1 Jelly Bean (API Level 16)
- Android 4.2 Jelly Bean MR1 (API Level 17)
- Android 4.3 Jelly Bean MR2 (API Level 18)
- Android 4.4 KitKat (API Level 19)
- Android 5.0 (API Level 21)
- Android 5.1 (API Level 22)
- Android 6.0 (API Level 23)
- Android 7.0 Nougat (API Level 24)
- Android 7.1 Nougat (API Level 25)
- Android 8.0 Oreo (API Level 26)
- Android 8.1 Oreo (API Level 27)
- Android P Preview (P)
- Android 9.0 Pie (API Level 28)
- Android Q Preview (Q)
- Android 10 (API Level 29)
- Android R Preview (R)
- Android 11 (API Level 30)
- Wear OS (API Level 20)
- Android TV (API Level 21)
- Android Auto
- Android Things
Source Code and Building
- Source Code
- Source Mirrors
- Building and Running
- Building kernel
Official Android Blog News and notes from the Android team
[+Android Developers on Google+] News and announcements for developers from the Android team at Google. Also a venue for discussion of recent news and announcements.
Android Design Guidelines A collection of UI guidelines for Android. Mainly focused on design patterns and navigation.
Material Design The latest components, tutorials, and documentation for Android
@AndroidDev on Twitter News and announcements for developers from the Android team at Google.
Android Developers Google Group Alternative developer discussion forum for Android.
Android Open Source Project (also known as AOSP) Contains all necessary information about the Android source code.
Android page on Wikipedia Detailed information about the Android OS.
Android.com General information about the Android OS.
Google I/O 2010 developer conference Contains detailed videos and slides by Android product engineers.
Google I/O 2011 developer conference Contains videos and slides by Android product engineers.
Google I/O 2012 developer conference Contains videos and slides by Android product engineers. (June 27-29 2012)
Google I/O 2013 developer conference Contains videos and slides by Android product engineers. (May 15-17 2013)
Google I/O 2014 developer conference Contains Videos and Slides by Android product engineers (June 24-25 2014)
Google I/O 2015 developer conference Contains Videos and Slides by Android product engineers (May 28-29 2015)
Google I/O 2016 developer conference (May 18-20 2016)
Google I/O 2017 developer conference (May 17-19 2017)
Google I/O 2018 developer conference (May 8-10 2018)
Google I/O 2019 developer conference (May 7-9 2019)
Google Maps API The Google Maps API port for Android, which provides a lot of information on how to use the Maps API on Android (which cannot be found on the Android Developer site).
Android Developer Channel @ Youtube Android Developer Channel. This is the home for Google+ Hangout videos from our live events, as well as for videos containing demos, tutorials, and anything else related to Android development.
Google I/O - Android Sessions @ Youtube (2008 - 2011)
Playlist of videos for Google I/O.
- Android Tools Project Site
On this site, you will find information about the Developer Tools for Android (Dalvik Debug Monitor Server (DDMS), hierarchy viewer, lint) and various tips & how-to documents.
In addition, there are other Android developer support sites, operating in other languages.
For non-developer questions, see the Android Enthusiasts Stack Exchange site.
Android Programming Books
- Learning Android (Marko Gargenta)
- Hello, Android (Ed Burnette)
- Beginning Android Application Development (Wei-Meng Lee)
- Android Apps for Absolute Beginners (Wallace Jackson)
- The Busy Coder's Guide to Android Development (Mark Murphy)
- Professional Android 4 Application Development (Reto Meier)
- Android Wireless Application Development (Shane Conder & Lauren Darcy)
- Pro Android Media: Developing Graphics, Music, Video, and Rich Media Apps for Smartphones and Tablets (Shawn Van Every)
- The Android Developer's Cookbook: Building Applications with the Android SDK (James Steele & Nelson To)
- Android Application Testing Guide (Diego Torres Milano)
- Programming Android (Zigurd Mednieks)
- Android User Interface Development: Beginner's Guide (Jason Morris)
- Head First Android Development (Dawn Griffiths & David Griffiths)
- logger - Simple, pretty and powerful logger for android
- timber - A logger with a small, extensible API which provides utility on top of Android's normal Log class.
- LoggingInterceptor - An OkHttp interceptor which pretty logs request and response data.
- Bugfender - Upload your logs and check them online, specially made for mobile
- EzyLogger - Simple Lightweight logger
- Logback Android - Logback port to Android which provides a highly configurable logging framework for Android apps.
Chat about Android with other Stack Overflow users:
- Android Enthusiasts (for general use only)
- #android-dev (IRC via irc.freenode.net)
Tutorials & Examples
- Android Developers Training
- CodePath Cliffnotes
- Android Snippets
- Android Libraries
- Android Material Design
- Code developer plus
- Google Training Android Skills
- Android Custom Libraries
- Programming Mobile Applications for Android Handheld Systems
Creative, Serious, and Playful Science of Android Apps
- Programming Cloud Services for Android Handheld Systems
Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
- Slidenerd Tutorials
- Udacity Android Developer Nanodegree - co-created by Google
NPTEL - Mobile Computing (Android Programming)
Online Specialization Verified Courses
Sites that list Android libraries
Open-sourced Android apps
Podcasts for Android
Frequently Asked Questions
- I got a NullPointerException when using View object
- I got a NetworkOnMainThreadException while doing network IO
- I got Permission denied (maybe missing INTERNET permission)
- Getting a null reference from getLastKnownLocation
- How to get phone number programmatically
- How do I get a service to always run in the background?
- How do you fix "You cannot combine swipe dismissal and the action bar."?
- What is 'Context' in Android?
- How do I pass data between activities in android
- What is Intents in android
- Unfortunately MyApp has stopped. How can I solve this?
- What is the difference between Content Provider and Content Resolver?
- (Android Studio Project Structure) v.s. (Eclipse Project Structure)
- iOS / Android cross platform development
- Android Studio vs Eclipse with ADT
- What is the difference between “px”, “dip”, “dp” and “sp”?
- Android. Fragment getActivity() sometimes returns null
- How to call a method after a delay in Android
- Why is the Android emulator so slow? How can we speed up the Android emulator?
- UnsupportedOperationException: Can't convert to dimension: type=0x1
- INSTALL_FAILED_DUPLICATE_PERMISSION… C2D_MESSAGE
- How to make EditText not focused when creating Activity