将Kotlin转换为Java

21

有人能帮我将 Kotlin 代码在 Android Studio 中转换为Java吗?

我按照以下步骤操作:

工具 >> Kotlin>> 反编译 Kotlin 为 Java

但是“Kotlin to Java”选项被禁用了,我该怎么办?

输入图像描述


1
请查看此帖子 https://dev59.com/BlsW5IYBdhLWcg3wdXCT#52983100 - Rasoul Miri
4个回答

29

目前只有编译后的Kotlin类(.class,而非.kt扩展名)位于app/build/tmp/kotlin-classes/下并且构建成功后,方可启用工具>>Kotlin>>将Kotlin反编译为Java

关于@Uriel Frankel的解决方法:

如果工具>>Kotlin>>显示Kotlin字节码>>反编译按钮被禁用(或未显示),则应安装Java字节码反编译器插件:首选项>>插件>>搜索Java Bytecode Decompiler` >> 检查插件并按OK键


8

工具 >> kotlin >> 显示 Kotlin 字节码 >> 反编译


7
对我来说,在那个视图中没有“反编译”选项。 - CommonsWare

2

看起来像是一个bug。

工具 -> Kotlin -> 将Kotlin反编译为Java

在我这边,即使构建成功后,对我也被禁用了(Android Studio v3.2),因此,我进行了以下操作:

点击Kotlin(已编译的类):

选择 工具 -> Kotlin -> 显示Kotlin字节码

然后出现了Kotlin字节码窗口:

enter image description here

将JVM 8目标设置为所选,然后解码给了我Java类。

注意:当Android Studio中启用了 Java Bytecode Decompiler 插件时,才会发生上述情况。

更新:

即使转换为Java后仍可能存在问题,也许我们应该等待最新版本。


0

我按照上面Onik的答案进行操作。

Java字节码反编译器已经自动捆绑了。 我在Android Studio中打开了.class文件,并选择 工具 >> Kotlin>> 反编译Kotlin为Java。

等待几分钟后,Android Studio告诉我

文件太大:50.78 MB。只显示前2.56 MB的只读预览

然后它打开了一个名为MyKotlinClass.decompiled.java的文件,其中大部分对我来说是无法理解的。

MyKotlinClass大约有300行。此时,手动将文件重写为Java代码似乎是更好的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接