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

我开始在Android Studio中使用Kotlin,但是我想用与检查Ctr-BCmd-B “跳转到声明”相同的方式检查Kotlin源代码,以查看任何标准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类的源代码?

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

字节码文件

然后你会看到如下所示的对话框:

运行时jar没有源代码

您不会在kotlin-stdlib目录中找到源代码。 相反,您需要向下滚动到kotlin-stdlib-common

资料来源于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()