Kotlin 是否提供任何额外的安全性?
Does Kotlin provide any additional security?
当我们在 Java 中开发 Android 应用程序时,我们可以选择混淆代码并构建 APK。
Kotlin 中是否有任何高级功能可以做到这一点?
假设您正在 运行宁 gradle build
在您的 Kotlin Android 项目上。然后你会发现以下任务是 运行:
:app:compileReleaseKotlin
:app:compileReleaseJavaWithJavac
:app:copyReleaseKotlinClasses
:app:compileReleaseSources
:app:transformResourcesWithMergeJavaResForRelease
:app:transformClassesAndResourcesWithProguardForRelease
:app:transformClassesWithDexForRelease
如您所见,首先编译 Kotlin 源代码,然后是 Java 源代码。这导致只有一个 Java 类 的集合是用 Proguard 处理的;就在最后。 Java 和 Kotlin 在这一步之间没有区别。
代码混淆既不是 Java 功能也不是 Kotlin 功能。
由于 Kotlin 被编译为与 Java 相同的字节码,您可以使用相同的工具(例如 Proguard)。这些工具混淆了字节码而不是源代码,我认为你误解了这一点。
当我们在 Java 中开发 Android 应用程序时,我们可以选择混淆代码并构建 APK。
Kotlin 中是否有任何高级功能可以做到这一点?
假设您正在 运行宁 gradle build
在您的 Kotlin Android 项目上。然后你会发现以下任务是 运行:
:app:compileReleaseKotlin
:app:compileReleaseJavaWithJavac
:app:copyReleaseKotlinClasses
:app:compileReleaseSources
:app:transformResourcesWithMergeJavaResForRelease
:app:transformClassesAndResourcesWithProguardForRelease
:app:transformClassesWithDexForRelease
如您所见,首先编译 Kotlin 源代码,然后是 Java 源代码。这导致只有一个 Java 类 的集合是用 Proguard 处理的;就在最后。 Java 和 Kotlin 在这一步之间没有区别。
代码混淆既不是 Java 功能也不是 Kotlin 功能。
由于 Kotlin 被编译为与 Java 相同的字节码,您可以使用相同的工具(例如 Proguard)。这些工具混淆了字节码而不是源代码,我认为你误解了这一点。