当我们用Java开发Android应用程序时,我们可以选择对代码进行模糊处理并构建APK。
Kotlin是否有任何先进功能可以做同样的事情?
答案 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之间没有区别。