У меня есть исходный файл Kotlin, но я хочу перевести его на Java.
Как я могу конвертировать Kotlin в исходный код Java?
java
kotlin
code-conversion
activedecay
источник
источник
Ответы:
Как сказал @Vadzim, в IntelliJ или Android Studio вам просто нужно сделать следующее, чтобы получить код java от kotlin:
Menu > Tools > Kotlin > Show Kotlin Bytecode
Decompile
кнопкуОбновить:
С последней версией (1.2+) плагина Kotlin вы также можете сделать это напрямую
Menu > Tools > Kotlin -> Decompile Kotlin to Java
.источник
Decompile Kotlin to Java
в настоящее время включен только для скомпилированных классов Kotlin .Вы можете скомпилировать Kotlin в байт-код, а затем использовать дизассемблер Java.
Декомпиляция может быть выполнена внутри IntelliJ Idea или с помощью FernFlower https://github.com/fesh0r/fernflower (спасибо @Jire)
Не было никакого автоматизированного инструмента, поскольку я проверил пару месяцев назад (и никаких планов относительно одного AFAIK)
источник
Вы можете перейти в Инструменты> Kotlin> Показать байт-код kotlin
источник
Нажмите Cmd- Shift- Aна Mac или нажмите Ctrl- Shift- Aна компьютере с Windows.
Введите искомое действие:
Kotlin Bytecode
и выберитеShow Kotlin Bytecode
из меню.Decompile
кнопку в верхней частиKotlin Bytecode
панели.источник
Я компилирую Kotlin в байт-код, а затем декомпилирую его в Java. Я компилирую с помощью компилятора Kotlin и декомпилирую с помощью cfr .
Мой проект здесь .
Это позволяет мне скомпилировать это:
К этому:
источник
Как отметил @ louis-cad, «источник Kotlin -> байт-код Java -> источник Java» пока является единственным решением.
Но я бы хотел упомянуть способ, который я предпочитаю: использовать декомпилятор Jadx для Android .
Это позволяет увидеть генерируемый код для замыканий, и, как по мне, полученный код «чище», чем код из декомпилятора IntelliJ IDEA.
Обычно, когда мне нужно увидеть исходный код Java любого класса Kotlin, я делаю:
./gradlew assembleDebug
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
В этом графическом интерфейсе работает базовая функциональность IDE: поиск класса, нажмите, чтобы перейти к объявлению. и т.п.
Также весь исходный код можно сохранить, а затем просмотреть с помощью других инструментов, таких как IntelliJ IDEA.
источник
brew install jadx
источник
Java и Kotlin работают на виртуальной машине Java (JVM).
Преобразование файла Kotlin в файл Java включает в себя два этапа: компиляцию кода Kotlin в байт-код JVM, а затем декомпиляцию байт-кода в код Java.
Шаги для преобразования вашего исходного файла Kotlin в исходный файл Java:
источник