如何在Android Studio中附加Kotlin的来源?

时间:2017-08-19 23:28:23

标签: android-studio kotlin

我开始在Android Studio中使用Kotlin,但我想检查Kotlin来源,就像我可以按 Ctr-B Cmd-B 一样#34跳到宣言"查看任何标准Java类的源代码。

例如,如果我采用默认的Android Studio Kotlin项目并添加一行调用标准Kotlin listOf()

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    listOf("hello", "goodbye");
}

并在listOf()上按 Ctr-B 我只能获得以下内容:

public fun <T> listOf(vararg elements: T): kotlin.collections.List<T> { /* compiled code */ }

如果我点击Choose Sources,我无法在出现的目录中找到源文件。如何设置Android Studio以查看这些标准Kotlin类的来源?

1 个答案:

答案 0 :(得分:5)

在反编译的类文件中,您需要点击Choose Sources

the bytecode file

然后您将看到一个如下所示的对话框:

runtime jar doesn't have sources

您将无法找到kotlin-stdlib目录中的来源。相反,您需要向下滚动到kotlin-stdlib-common

sources are in kotlin-stdlib-common

您可以在哪里选择来源。 jump to declaration命令现在按预期工作:

/** Returns a new read-only list of given elements.  The returned list is serializable (JVM). */
public fun <T> listOf(vararg elements: T): List<T> = if (elements.size > 0) elements.asList() else emptyList()

/** Returns an empty read-only list.  The returned list is serializable (JVM). */
@kotlin.internal.InlineOnly
public inline fun <T> listOf(): List<T> = emptyList()