Intereting Posts
данных и открытой несовместимости, какая у меня альтернатива? Как я могу вводить объект в презентацию в андроид kotlin MVP mosby app с кинжалом Кинжал 2: Невозможно найти сгенерированный класс в Intellij Idea (Kotlin) Внедрение в Kotlin – метод Значение по умолчанию Делегирование методов производных классов с помощью динамической отправки Вывод лямбда-типа Java не работает должным образом в Котлине общие интерфейсы с методами reified Анализ данных о проблемах с RxJava + Kotlin Каков самый ранний уровень API Android, с которым я могу использовать Kotlin? Android – SharedPreferences – Контекст Как легко потреблять продюсера канала Kotlin на Java? Анонимный класс Kotlin this Kotlin VS Scala: реализовать методы с параметрами первичного конструктора Дезертициализация поля, которое может быть одним из двух типов данных с использованием Moshi Доступ к статической функции расширения из другого класса в Котлине?

Как подключить источники для Kotlin в Android Studio?

Я начал использовать Kotlin в Android Studio, но я хотел бы проверить источники Kotlin так же, как я могу нажать Ctr-B или Cmd-B для «перехода к объявлению», чтобы увидеть источник для любого стандартного класса Java.

Например, если я возьму проект Android Studio Kotlin по умолчанию и добавлю одну строку, вызывающую стандартный Kotlin listOf() :

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

и нажмите Ctr-B в listOf() я получаю только следующее:

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

Если я нажму « Choose Sources я не могу найти исходный файл в каталоге, который появляется. Как настроить Android Studio для просмотра источника для этих стандартных классов Kotlin?

Solutions Collecting From Web of "Как подключить источники для Kotlin в Android Studio?"

В декомпилированном файле класса вам нужно нажать « Choose Sources :

файл байт-кода

Затем вы получите диалог, который выглядит так:

в банке времени нет источников

Вы не найдете источники в 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()