How Android Works Tutorial.
Normally You will write your android application in either Java or Kotlin. However these days there are several frameworks like Xamarin, Flutter and React Native but Java and Kotlin are the two native languages.
Once you've written your app, the Android SDK tools will compile the code, data and resource files into an APK (Android package).
In most cases a single APK file will contain all the content of the app.
Each Android App normally runs on its own virtual machine(VM). This implies that the app can run in isolation from other apps.
Android system applies the principle of least privilege. This means that each app will only have access to the components it requires to do its work,and no more.
However, there are ways for an app to share data with other apps, such as by sharing Linux user id between app, or apps can request permission to access device data like SD card, contacts etc.