Advantages
- Allows running multiple applications at the same time
- Supports different types of hardware
- Uses a mainstream development language – Java
- Low cost
- Customizable
- Good security; applications do not have access to system resources unless they ask the user for those permissions before being installed
Disadvantages
- The source code needs to be adapted for each device individually, which means that companies that produce smartphones may deliver version updates slowly for older devices, or not at all.
Components
- Application framework
- Dalvik virtual machine
- SQLite
- Media support
- Integrated browser
Development tools
- Eclipse
- IntelliJ IDEA
- Android Studio