gpt4 book ai didi

android - 带下划线的 Kotlin 类

转载 作者:行者123 更新时间:2023-11-29 18:44:56 25 4
gpt4 key购买 nike

请解释一下 StringsKt__StringsKt(即中间有一个或多个下划线的双类名)和类似的 StringsKt__StringsJVMKt 类的目的和含义是什么?

字符串不是唯一的例子,还有很多其他的。在我的 .apk 中查看 classes.dex 文件的结构时,我看到了它们。

screenshot here

我问是因为我遇到了一种情况,我必须在我的混淆规则中明确说明其中的一些。如果没有它,应用程序就会崩溃。

最佳答案

这是一个生成的文件。如果有多个 Kotlin 文件以相同的 JvmName 命名,则会生成这样的文件。

我们以Strings.kt为例和 StringNumberConversions.kt举个例子:

// StringNumberConversions.kt
@file:kotlin.jvm.JvmMultifileClass
@file:kotlin.jvm.JvmName("StringsKt")
...

// Strings.kt
@file:kotlin.jvm.JvmMultifileClass
@file:kotlin.jvm.JvmName("StringsKt")
...

两者都有@file:kotlin.jvm.JvmName("StringsKt"),所以生成StringsKtStringsKt__StringNumberConversionsKt来区分他们。

关于android - 带下划线的 Kotlin 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com