Saya memiliki file sumber Kotlin, tetapi saya ingin menerjemahkannya ke Java.
Bagaimana saya bisa mengonversi Kotlin ke sumber Java?
java
kotlin
code-conversion
Diaktifkanecay
sumber
sumber
Jawaban:
Seperti yang dikatakan @Vadzim, di IntelliJ atau Android Studio, Anda hanya perlu melakukan yang berikut untuk mendapatkan kode java dari kotlin:
Menu > Tools > Kotlin > Show Kotlin Bytecode
Decompile
tombolMemperbarui:
Dengan versi terbaru (1.2+) dari plugin Kotlin Anda juga dapat langsung melakukannya
Menu > Tools > Kotlin -> Decompile Kotlin to Java
.sumber
Decompile Kotlin to Java
saat ini diaktifkan hanya untuk kelas Kotlin yang dikompilasi .Anda dapat mengkompilasi Kotlin ke bytecode, lalu menggunakan Java disassembler.
Dekompilasi dapat dilakukan di dalam IntelliJ Idea, atau menggunakan FernFlower https://github.com/fesh0r/fernflower (terima kasih @Jire)
Tidak ada alat otomatis ketika saya memeriksa beberapa bulan yang lalu (dan tidak ada rencana untuk satu AFAIK)
sumber
Anda dapat pergi ke Tools> Kotlin> Show bytecode kotlin
sumber
Tekan Cmd- Shift- Apada Mac, atau tekan Ctrl- Shift- Apada mesin Windows.
Ketikkan tindakan yang Anda cari:
Kotlin Bytecode
dan pilihShow Kotlin Bytecode
dari menu.Decompile
tombol di bagian atasKotlin Bytecode
panel.sumber
Saya mengkompilasi Kotlin ke kode byte dan kemudian de-kompilasi itu ke Jawa. Saya kompilasi dengan kompiler Kotlin dan de-kompilasi dengan cfr .
Proyek saya ada di sini .
Ini memungkinkan saya untuk mengkompilasi ini:
Untuk ini:
sumber
Seperti @ louis-cad menyebutkan "sumber Kotlin -> kode byte Java -> sumber Java" adalah satu-satunya solusi sejauh ini.
Tapi saya ingin menyebutkan caranya, yang saya sukai: menggunakan Jadx decompiler untuk Android .
Hal ini memungkinkan untuk melihat kode yang menghasilkan penutupan dan, bagi saya, kode yang dihasilkan adalah "bersih" kemudian satu dari dekompiler IntelliJ IDEA.
Biasanya ketika saya perlu melihat kode sumber Java dari setiap kelas Kotlin yang saya lakukan:
./gradlew assembleDebug
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
Dalam fungsi IDE dasar GUI ini berfungsi: pencarian kelas, klik untuk pergi deklarasi. dll.
Juga semua kode sumber dapat disimpan dan kemudian dilihat menggunakan alat lain seperti IntelliJ IDEA.
sumber
brew install jadx
sumber
Java dan Kotlin berjalan pada Java Virtual Machine (JVM).
Mengubah file Kotlin ke file Java melibatkan dua langkah yaitu mengkompilasi kode Kotlin ke bytecode JVM dan kemudian mendekompilasi bytecode ke kode Java.
Langkah-langkah untuk mengonversi file sumber Kotlin Anda ke file sumber Java:
sumber