5. Android Studio does not support all Java 8 language features,
Supported Java 8 language features and APIs
https://developer.android.com/studio/write/java8-support
6. Desugaring History
Goal : Allow newer language features to run on all devices
https://android-developers.googleblog.com/2014/12/hello-world-meet-our-new-experimental.html
Jack &Jil ToolChain
Transforms .java to .dex
Supports lambda functions & method refs all
android versions.
Supports Android API 26+
Does not support java.time.*
Failed to convert to .dex directly with no bytecode
in between.
Slow in compilation
10. D8 Dexer
Replacement for Dx.
Faster Compared to Dx.
Reducing build time and generated small apk size.
Optimised .dex means more performance.
https://android-developers.googleblog.com/2017/08/next-generation-dex-compiler-now-in.html
13. Provides Lambdas
Method references
Default and static (-Like) functions on interfaces
Source transformation
All of those features are actually implemented by kotlinc is exactly same way that D8
desugars the java 8 byte code
Increases team efficiency
Complies with existing Java code
Easily maintainable
Less buggy
Reduced mobile app development cost
Safe and secure