Mam plik źródłowy Kotlin, ale chcę go przetłumaczyć na Javę.
Jak przekonwertować Kotlin na źródło Java?
java
kotlin
code-conversion
Activedecay
źródło
źródło
Odpowiedzi:
Jak powiedział @Vadzim, w IntelliJ lub Android Studio wystarczy wykonać następujące czynności, aby uzyskać kod Java z kotlin:
Menu > Tools > Kotlin > Show Kotlin Bytecode
Decompile
przyciskAktualizacja:
Dzięki najnowszej wersji (1.2+) wtyczki Kotlin możesz także zrobić bezpośrednio
Menu > Tools > Kotlin -> Decompile Kotlin to Java
.źródło
Decompile Kotlin to Java
jest obecnie włączony tylko dla skompilowanych klas Kotlin .Możesz skompilować Kotlina do kodu bajtowego, a następnie użyć dezasemblera Java.
Dekompilacja może odbywać się w IntelliJ Idea lub przy użyciu FernFlower https://github.com/fesh0r/fernflower (dzięki @Jire)
Nie było zautomatyzowanego narzędzia, które sprawdziłem kilka miesięcy temu (i żadnych planów dotyczących jednego AFAIK)
źródło
możesz przejść do Narzędzia> Kotlin> Pokaż kod bajtowy kotlin
źródło
Naciśnij Cmd- Shift- Ana komputerze Mac lub naciśnij Ctrl- Shift- Ana komputerze z systemem Windows.
Wpisz akcję, której szukasz:
Kotlin Bytecode
i wybierzShow Kotlin Bytecode
z menu.Decompile
przycisk na górzeKotlin Bytecode
panelu.źródło
Kompiluję Kotlin do kodu bajtowego, a następnie dekompiluję go do Javy. Kompiluję za pomocą kompilatora Kotlin i dekompiluję za pomocą cfr .
Mój projekt jest tutaj .
To pozwala mi skompilować to:
Do tego:
źródło
Jak wspomniał @ louis-cad „Źródło Kotlin -> Kod bajtów Java -> Źródło Java” to jedyne jak dotąd rozwiązanie.
Chciałbym jednak wspomnieć o sposobie, który preferuję: za pomocą dekompilatora Jadx dla Androida .
Pozwala zobaczyć kod generujący zamknięcia i, jak dla mnie, wynikowy kod jest „czystszy” niż kod dekompilatora IntelliJ IDEA.
Zwykle, gdy muszę zobaczyć kod źródłowy Java dowolnej klasy Kotlin, robię:
./gradlew assembleDebug
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
W tym GUI działa podstawowa funkcjonalność IDE: wyszukiwanie klasy, deklaracja „kliknij, aby przejść”. itp.
Cały kod źródłowy można zapisać, a następnie wyświetlić przy użyciu innych narzędzi, takich jak IntelliJ IDEA.
źródło
brew install jadx
źródło
Java i Kotlin działają na wirtualnej maszynie Java (JVM).
Konwersja pliku Kotlin do pliku Java wymaga dwóch kroków, tj. Kompilacji kodu Kotlin do kodu bajtowego JVM, a następnie dekompilacji kodu bajtowego do kodu Java.
Kroki, aby przekonwertować plik źródłowy Kotlin na plik źródłowy Java:
źródło