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

Zoe stands with Ukraine
  • 25,310
  • 18
  • 114
  • 149
Saiteja Kolan
  • 258
  • 1
  • 3
  • 9

4 Answers4

25

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
  • 17,358
  • 12
  • 67
  • 87
7

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

Uriel Frankel
  • 13,300
  • 7
  • 43
  • 65
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,177
  • 7
  • 51
  • 106
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,927
  • 2
  • 36
  • 55