Application FundamentalsAndroid applications are written in the Java programming language
The compiled Java code — along with any data and resource files required by the application — is bundled by the aapt tool into an Android package, an archive file marked by an
apk suffix
This file is the vehicle for distributing the application and installing it on mobile devices; it's the file users download to their devices
All the code in a single
apk file is considered to be one application
In many ways, each Android application lives in its own world:1
By default, every application runs in its own Linux process
Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are req