Converting Kotlin to Java

我们两清 提交于 2019-12-19 13:13:03

问题


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?


回答1:


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.




回答2:


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




回答3:


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:

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.




回答4:


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.



来源:https://stackoverflow.com/questions/50895662/converting-kotlin-to-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!