如何将kotlin源文件转换为java源文件

时间:2022-09-01 11:32:07

I have a Kotlin source file, but I want to translate it to Java.

我有一个Kotlin源文件,但是我想把它转换成Java。

How can I convert Kotlin to Java source?

如何将Kotlin转换为Java源代码?

5 个解决方案

#1


165  

As @Vadzim said, in IntelliJ or Android Studio, you just have to do the following to get java code from kotlin:

正如@Vadzim所说,在IntelliJ或Android Studio中,你只需要做以下事情就可以从kotlin获得java代码:

  1. Menu > Tools > Kotlin > Show Kotlin Bytecode
  2. 菜单>工具> Kotlin >显示Kotlin字节码
  3. Click on the Decompile button
  4. 单击分解堆按钮
  5. Copy the java code
  6. 复制的java代码

Update:

更新:

As of latest android studio 3.1.2

最新的android studio 3.1.2

you can directly do go to menu -> tools -> kotlin -> decompile kotlin to java.

您可以直接进入菜单->工具-> kotlin ->反编译kotlin到java。

#2


29  

You can compile Kotlin to bytecode, then use a Java disassembler.

您可以将Kotlin编译为字节码,然后使用Java反汇编器。

The decompiling may be done inside InteliJ Idea, or using FernFlower https://github.com/fesh0r/fernflower (thanks @Jire)

反编译可以在InteliJ Idea中完成,或者使用FernFlower https://github.com/fesh0r/fernflower(感谢@Jire)

There was no automated tool as I checked a couple months ago (and no plans for one AFAIK)

几个月前我检查的时候没有自动的工具(而且没有一个AFAIK的计划)

#3


4  

In Android Studio, you just have to do the following to get java bytecode code:

在Android Studio中,只需执行以下操作即可获得java字节码:

  • Display bytecode: Tools -> Kotlin -> Show Kotlin Bytecode

    显示字节码:工具-> Kotlin ->显示Kotlin字节码

  • Or: cmd + shift + A (Mac) / ctrl + shift + A (Windows) and type Kotlin Bytecode

    或者:cmd + shift + A (Mac) / ctrl + shift + A (Windows),输入Kotlin字节码

Note: Decompile button is available only if you have installed and enabled plugin “Java Bytecode Decompiler”

注意:只有安装并启用了“Java字节码反编译器”插件时,才可以使用反编译按钮。

java bytecode code:

java字节码代码:

如何将kotlin源文件转换为java源文件

#4


2  

As @louis-cad mentioned "Kotlin source -> Java's byte code -> Java source" is the only solution so far.

正如@louis-cad提到的“Kotlin源代码—> Java的字节码—> Java源代码”是目前唯一的解决方案。

But I would like to mention the way, which I prefer: using Jadx decompiler for Android.

但是我想提一下我喜欢的方法:在Android中使用Jadx反编译器。

It allows to see the generates code for closures and, as for me, resulting code is "cleaner" then one from IntelliJ IDEA decompiler.

它允许查看为闭包生成的代码,对于我来说,生成的代码比IntelliJ IDEA反编译器中的代码“更干净”。

Normally when I need to see Java source code of any Kotlin class I do:

通常,当我需要查看任何Kotlin类的Java源代码时,我都会这样做:

  • Generate apk: ./gradlew assembleDebug
  • 生成的apk:。/ gradlew assembleDebug
  • Open apk using Jadx GUI: jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
  • 使用Jadx GUI打开apk: Jadx - GUI ./app/构建/输出/apk/debug/app-debug.apk

In this GUI basic IDE functionality works: class search, click to go declaration. etc.

在这个GUI基本的IDE功能工作:类搜索,点击进入声明。等。

Also all the source code could be saved and then viewed using other tools like IntelliJ IDEA.

所有的源代码都可以保存,然后使用IntelliJ IDEA这样的工具来查看。

#5


0  

  1. open kotlin file in android studio
  2. 在android studio中打开kotlin文件
  3. go to tools -> kotlin ->kotlin bytecode
  4. 转到工具->kotlin ->kotlin字节码
  5. in the new window that open beside your kotlin file , click the decompile button . it will create java equivalent of your kotlin file .
  6. 在kotlin文件旁边打开的新窗口中,单击分解堆按钮。它将创建java等效的kotlin文件。

#1


165  

As @Vadzim said, in IntelliJ or Android Studio, you just have to do the following to get java code from kotlin:

正如@Vadzim所说,在IntelliJ或Android Studio中,你只需要做以下事情就可以从kotlin获得java代码:

  1. Menu > Tools > Kotlin > Show Kotlin Bytecode
  2. 菜单>工具> Kotlin >显示Kotlin字节码
  3. Click on the Decompile button
  4. 单击分解堆按钮
  5. Copy the java code
  6. 复制的java代码

Update:

更新:

As of latest android studio 3.1.2

最新的android studio 3.1.2

you can directly do go to menu -> tools -> kotlin -> decompile kotlin to java.

您可以直接进入菜单->工具-> kotlin ->反编译kotlin到java。

#2


29  

You can compile Kotlin to bytecode, then use a Java disassembler.

您可以将Kotlin编译为字节码,然后使用Java反汇编器。

The decompiling may be done inside InteliJ Idea, or using FernFlower https://github.com/fesh0r/fernflower (thanks @Jire)

反编译可以在InteliJ Idea中完成,或者使用FernFlower https://github.com/fesh0r/fernflower(感谢@Jire)

There was no automated tool as I checked a couple months ago (and no plans for one AFAIK)

几个月前我检查的时候没有自动的工具(而且没有一个AFAIK的计划)

#3


4  

In Android Studio, you just have to do the following to get java bytecode code:

在Android Studio中,只需执行以下操作即可获得java字节码:

  • Display bytecode: Tools -> Kotlin -> Show Kotlin Bytecode

    显示字节码:工具-> Kotlin ->显示Kotlin字节码

  • Or: cmd + shift + A (Mac) / ctrl + shift + A (Windows) and type Kotlin Bytecode

    或者:cmd + shift + A (Mac) / ctrl + shift + A (Windows),输入Kotlin字节码

Note: Decompile button is available only if you have installed and enabled plugin “Java Bytecode Decompiler”

注意:只有安装并启用了“Java字节码反编译器”插件时,才可以使用反编译按钮。

java bytecode code:

java字节码代码:

如何将kotlin源文件转换为java源文件

#4


2  

As @louis-cad mentioned "Kotlin source -> Java's byte code -> Java source" is the only solution so far.

正如@louis-cad提到的“Kotlin源代码—> Java的字节码—> Java源代码”是目前唯一的解决方案。

But I would like to mention the way, which I prefer: using Jadx decompiler for Android.

但是我想提一下我喜欢的方法:在Android中使用Jadx反编译器。

It allows to see the generates code for closures and, as for me, resulting code is "cleaner" then one from IntelliJ IDEA decompiler.

它允许查看为闭包生成的代码,对于我来说,生成的代码比IntelliJ IDEA反编译器中的代码“更干净”。

Normally when I need to see Java source code of any Kotlin class I do:

通常,当我需要查看任何Kotlin类的Java源代码时,我都会这样做:

  • Generate apk: ./gradlew assembleDebug
  • 生成的apk:。/ gradlew assembleDebug
  • Open apk using Jadx GUI: jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
  • 使用Jadx GUI打开apk: Jadx - GUI ./app/构建/输出/apk/debug/app-debug.apk

In this GUI basic IDE functionality works: class search, click to go declaration. etc.

在这个GUI基本的IDE功能工作:类搜索,点击进入声明。等。

Also all the source code could be saved and then viewed using other tools like IntelliJ IDEA.

所有的源代码都可以保存,然后使用IntelliJ IDEA这样的工具来查看。

#5


0  

  1. open kotlin file in android studio
  2. 在android studio中打开kotlin文件
  3. go to tools -> kotlin ->kotlin bytecode
  4. 转到工具->kotlin ->kotlin字节码
  5. in the new window that open beside your kotlin file , click the decompile button . it will create java equivalent of your kotlin file .
  6. 在kotlin文件旁边打开的新窗口中,单击分解堆按钮。它将创建java等效的kotlin文件。