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

时间:2017-06-20 10:41:29

标签: security kotlin proguard obfuscation bytecode

当我们用Java开发Android应用程序时,我们可以选择对代码进行模糊处理并构建APK。

Kotlin是否有任何先进功能可以做同样的事情?

2 个答案:

答案 0 :(得分:7)

代码混淆既不是Java功能也不是Kotlin功能。

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

答案 1 :(得分:1)

假设您在Kotlin Android项目上运行gradle build。然后,您将发现以下任务正在运行:

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

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