将 Kotlin 转换为 Java

Posted

技术标签:

【中文标题】将 Kotlin 转换为 Java【英文标题】:Converting Kotlin to Java 【发布时间】:2018-11-26 11:38:04 【问题描述】:

谁能帮我将android Studio中的Kotlin代码转换成Java

我经历了以下过程:

工具 >> Kotlin>> 将 Kotlin 反编译成 Java

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

【问题讨论】:

查看此帖***.com/a/52983100/4797289 【参考方案1】:

目前Tools >> Kotlin>> Decompile Kotlin to Java 仅对位于app/build/tmp/kotlin-classes/ 的已编译Kotlin 类(.class,而不是.kt 扩展)启用在成功构建后

@Uriel Frankel 解决方法的说明:

如果 Tools >> Kotlin >> Show Kotlin Bytecode >> Decompile button 被禁用(或未显示),则应安装 Java Bytecode Decompiler 插件:Preferences >> Plugins >> search forJava Bytecode Decompiler` >> 检查插件并按 OK

【讨论】:

【参考方案2】:

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

【讨论】:

至少对我来说,该视图中没有“反编译”选项。【参考方案3】:

看起来像一个错误。

Tools -> Kotlin -> Decompile Kotlin to Java

实际上也为我禁用了即使在成功构建之后在我这边 Android Studio v3.2)所以,我经历了这个:

点击 Kotlin(已编译的类):

已选中Tools -> Kotlin -> Show Kotlin Bytecode

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

Made JVM 8 Target as selected 然后反编译给了我 java 类。

注意这是在 Android Studio 上启用 Java Bytecode Decompiler 插件时发生的。

更新

然而,即使在转换为 java 之后,这也可能会出现一些问题,也许我们应该等待最新版本。

【讨论】:

【参考方案4】:

我按照上面 Onik 的回答。

Java 字节码反编译器是自动捆绑的。 我在 Android Studio 中打开 .class 文件,然后选择 Tools >> Kotlin>> Decompile Kotlin to Java。

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

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

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

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

【讨论】:

以上是关于将 Kotlin 转换为 Java的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin - 将 Kotlin 方法转换为 Java 以用于 LayerDrawable 的问题

如何将此 Java 代码转换为 kotlin 代码

如何将改造回调响应中的回调从 java 转换为 Kotlin

将 Kotlin 数组转换为 Java 可变参数

是否可以使用 Android Studio 将 Kotlin 转换为 Java? [复制]

将 Java 代码转换为 Kotlin 以实现 OnChangeListener 时遇到问题