Application Fundamentals
How android app run in android operating system with security features:
Before we have discuss that the foundation of the Android platform is the Linux kernel. So every android app relies on the Linux kernel.
- By default, android system gives each app a unique Linux user ID which is used only by the system and is unknown to the app.
- Android system sets permissions for all the data in an app so that only the user ID assigned to that app can access them.
- Each process has its own virtual machine (VM), so an app’s program runs in isolation from other apps.
- By default, every app runs in its own Linux process. The Android system starts the process when any of the app’s components need to be executed, and then shuts down the process when it’s no longer needed or when the system must recover memory for other apps.
- By default, When you Install application, It has access only to the components that is necessary to do its work and no more. An app can request for permission to access device data such as the user’s SMS messages, storage (SD card), contacts, camera, and Bluetooth. The user has to explicitly grant these permissions.
- It’s possible to arrange for two apps to share the same Linux user ID, in which case they are able to access each other’s files. To protect system resources, apps with the same user ID can also made to run in the similar Linux process and share the same VM. The apps must also be signed with the same certificate.