21

Can anyone help me about converting Kotlin code in Android Studio to Java?

I went through the below process:

Tools >> Kotlin>> Decompile Kotlin to Java

But the "Kotlin to Java" option is disabled. What should I do?

enter image description here

Onik
  • 19,396
  • 14
  • 68
  • 91
Saiteja Kolan
  • 278
  • 1
  • 3
  • 9

4 Answers4

29

Currently Tools >> Kotlin>> Decompile Kotlin to Java is enabled only for compiled Kotlin classes (.class, not .kt extension) located at app/build/tmp/kotlin-classes/ after a successful build.

A note to the @Uriel Frankel's workaround:

If Tools >> Kotlin >> Show Kotlin Bytecode >> Decompile button is disabled (or not shown) the Java Bytecode Decompiler plugin should be installed: Preferences >> Plugins >> search forJava Bytecode Decompiler` >> check the plugin & press OK.

Onik
  • 19,396
  • 14
  • 68
  • 91
8

Tools >> kotlin >> Show Kotlin bytecode >> Decompile

Uriel Frankel
  • 14,304
  • 8
  • 47
  • 69
2

Seems like a bug.

Tools -> Kotlin -> Decompile Kotlin to Java

Was actually disabled for me too even after a successful build (In my side Android Studio v3.2) so, I went through this:

Click on the Kotlin (Compiled class):

Selected Tools -> Kotlin -> Show Kotlin Bytecode

Then kotlin bytecode window appeared:

enter image description here

Made JVM 8 Target as selected and then decompile gave me the java class.

Note that this happened when Java Bytecode Decompiler plugin was enabled on the Android Studio.

Update:

This however might have some issues even after converting to java and perhaps, we should wait for the newest releases.

ʍѳђઽ૯ท
  • 16,646
  • 7
  • 53
  • 108
0

I followed Onik's answer above.

The Java Bytecode Decompiler was automatically bundled. I opened the .class file in Android Studio, and selected Tools >> Kotlin>> Decompile Kotlin to Java.

After waiting several minutes, Android Studio told me

The file is too large: 50.78 MB. Showing a read-only preview of the first 2.56 MB

and it opened a file MyKotlinClass.decompiled.java, most of which is unintelligible to me.

MyKotlinClass is approximately 300 lines long. At this point, manually re-writing the file as Java code is looking like the better option.

user1725145
  • 3,993
  • 2
  • 37
  • 58