将 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 for
Java 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