Ich habe eine Kotlin-Quelldatei, möchte diese aber nach Java übersetzen.
Wie kann ich Kotlin in eine Java-Quelle konvertieren?
java
kotlin
code-conversion
activedecay
quelle
quelle
Antworten:
Wie @Vadzim sagte, müssen Sie in IntelliJ oder Android Studio nur Folgendes tun, um Java-Code von kotlin zu erhalten:
Menu > Tools > Kotlin > Show Kotlin Bytecode
Decompile
SchaltflächeAktualisieren:
Mit einer aktuellen Version (1.2+) des Kotlin-Plugins können Sie dies auch direkt tun
Menu > Tools > Kotlin -> Decompile Kotlin to Java
.quelle
Decompile Kotlin to Java
ist derzeit nur für kompilierte Kotlin-Klassen aktiviert .Sie können Kotlin zu Bytecode kompilieren und dann einen Java-Disassembler verwenden.
Die Dekompilierung kann in IntelliJ Idea oder mithilfe von FernFlower https://github.com/fesh0r/fernflower erfolgen (danke @Jire).
Es gab kein automatisiertes Tool, wie ich vor ein paar Monaten überprüft habe (und keine Pläne für eine AFAIK)
quelle
Sie können zu Extras> Kotlin> Kotlin-Bytecode anzeigen gehen
quelle
Presse Cmd- Shift- Aauf einem Mac oder drücken Ctrl- Shift- Aauf einem Windows - Rechner.
Geben Sie die gewünschte Aktion ein:
Kotlin Bytecode
und wählen SieShow Kotlin Bytecode
aus dem Menü.Decompile
Taste oben imKotlin Bytecode
Bedienfeld.quelle
Ich kompiliere Kotlin zu Bytecode und dekompiliere diesen dann zu Java. Ich kompiliere mit dem Kotlin-Compiler und dekompiliere mit cfr .
Mein Projekt ist hier .
Dies ermöglicht mir Folgendes zu kompilieren:
Dazu:
quelle
Wie @ louis-cad erwähnte, ist "Kotlin-Quelle -> Javas Bytecode -> Java-Quelle" die einzige Lösung, die es bisher gab.
Aber ich möchte den Weg erwähnen, den ich bevorzuge: Jadx Decompiler für Android verwenden .
Es ermöglicht das Anzeigen des generierten Codes für Schließungen, und für mich ist der resultierende Code "sauberer" als einer vom IntelliJ IDEA-Dekompiler.
Normalerweise mache ich Folgendes, wenn ich Java-Quellcode einer Kotlin-Klasse sehen muss:
./gradlew assembleDebug
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
In dieser GUI funktioniert die grundlegende IDE-Funktionalität: Klassensuche, Click-to-Go-Deklaration. usw.
Außerdem könnte der gesamte Quellcode gespeichert und dann mit anderen Tools wie IntelliJ IDEA angezeigt werden.
quelle
brew install jadx
quelle
Java und Kotlin laufen auf Java Virtual Machine (JVM).
Das Konvertieren einer Kotlin-Datei in eine Java-Datei umfasst zwei Schritte: Kompilieren des Kotlin-Codes in den JVM-Bytecode und anschließendes Dekompilieren des Bytecodes in den Java-Code.
Schritte zum Konvertieren Ihrer Kotlin-Quelldatei in eine Java-Quelldatei:
quelle