Kotlin是否提供额外的安全性?

当我们在Java中开发Android应用程序时,我们可以选择混淆代码并构建APK。

Kotlin有没有什么先进的功能可以做到这一点?

代码混淆既不是Java特性,也不是Kotlin协议。

由于Kotlin被编译为与Java相同的字节码,因此可以使用相同的工具(例如Proguard)。 这些工具混淆字节码,而不是来源,我想你误解了这一点。

假设你正在Kotlin Android项目上运行gradle build 。 然后你会发现正在运行的以下任务:

 :app:compileReleaseKotlin :app:compileReleaseJavaWithJavac :app:copyReleaseKotlinClasses :app:compileReleaseSources :app:transformResourcesWithMergeJavaResForRelease :app:transformClassesAndResourcesWithProguardForRelease :app:transformClassesWithDexForRelease 

正如你所看到的,Kotlin的源码是首先编译的,然后是Java源码。 这导致只有一个用Proguard处理的Java类的集合; 就在最后。 在这一步,Java和Kotlin之间没有区别。