Eu tenho um arquivo de origem Kotlin, mas quero traduzi-lo para Java.
Como posso converter Kotlin para fonte Java?
java
kotlin
code-conversion
activedecay
fonte
fonte
Respostas:
Como o @Vadzim disse, no IntelliJ ou no Android Studio, basta fazer o seguinte para obter o código java do kotlin:
Menu > Tools > Kotlin > Show Kotlin Bytecode
Decompile
botãoAtualizar:
Com uma versão recente (1.2+) do plug-in Kotlin, você também pode fazer diretamente
Menu > Tools > Kotlin -> Decompile Kotlin to Java
.fonte
Decompile Kotlin to Java
atualmente está ativado apenas para as classes Kotlin compiladas .Você pode compilar o Kotlin no bytecode e depois usar um desmontador de Java.
A descompilação pode ser feita dentro do IntelliJ Idea ou usando o FernFlower https://github.com/fesh0r/fernflower (obrigado @Jire)
Não havia ferramenta automatizada, como verifiquei há alguns meses (e não há planos para um AFAIK)
fonte
você pode acessar Ferramentas> Kotlin> Mostrar bytecode do kotlin
fonte
Pressione Cmd- Shift- Aem um Mac ou Ctrl- Shift- Aem uma máquina Windows.
Digite a ação que você está procurando:
Kotlin Bytecode
e escolhaShow Kotlin Bytecode
no menu.Decompile
botão na parte superior doKotlin Bytecode
painel.fonte
Compilei o Kotlin para código de bytes e depois o descompile para Java. Eu compilar com o compilador Kotlin e descompilar com cfr .
Meu projeto está aqui .
Isso me permite compilar isso:
Para isso:
fonte
Como @ louis-cad mencionou "Fonte Kotlin -> código de bytes do Java -> fonte Java" é a única solução até agora.
Mas eu gostaria de mencionar o caminho, que eu prefiro: usando o descompilador Jadx para Android .
Ele permite ver o código gerado para os fechamentos e, quanto a mim, o código resultante é "mais limpo" do que o do descompilador IntelliJ IDEA.
Normalmente, quando preciso ver o código-fonte Java de qualquer classe Kotlin que faço:
./gradlew assembleDebug
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
Nesta GUI, a funcionalidade básica do IDE funciona: pesquisa de classe, clique para ir para a declaração. etc.
Além disso, todo o código-fonte pode ser salvo e visualizado usando outras ferramentas como o IntelliJ IDEA.
fonte
brew install jadx
fonte
Java e Kotlin são executados na Java Virtual Machine (JVM).
Converter um arquivo Kotlin em arquivo Java envolve duas etapas, ou seja, compilar o código Kotlin no bytecode da JVM e, em seguida, descompilar o bytecode no código Java.
Etapas para converter seu arquivo de origem Kotlin em arquivo de origem Java:
fonte