We will focus mainly on Android, but keep in mind that Kotlin can be compiled to multiple platforms. Kotlin code can be compiled to Java bytecode and then to Dalvik bytecode. Here is the simplified version of the Kotlin build process for the Android platform:
- A file with a .java extension contains Java code
- A file with a .kt extension contains Kotlin code
- A file with a .class extension contains Java bytecode
- A file with a .dex extension contains Dalvik bytecode
- A file with a .apk extension contains the AndroidManifest file, resources, and .dex file
For pure Kotlin projects, only the Kotlin compiler will be used, but Kotlin also supports cross-language projects, where we can use Kotlin together with Java in the same Android project. In such cases, both compilers are used to compile the Android application and the result will be merged at the class level.