Kotlin 소스 파일을 Java 소스 파일로 변환하는 방법
Kotlin 소스 파일을 가지고 있습니다만, Java로 번역하고 싶습니다.
Kotlin을 Java 소스로 변환하려면 어떻게 해야 하나요?
@Vadzim이 말했듯이 IntelliJ 또는 Android Studio에서는 Kotlin에서 Java 코드를 가져오려면 다음 작업을 수행해야 합니다.
Menu > Tools > Kotlin > Show Kotlin Bytecode- 을 클릭해 주세요.
Decompile가 끼다 - Java 코드 복사
업데이트:
버전에서는 Kotlin을 직접 .Menu > Tools > Kotlin -> Decompile Kotlin to Java.
Kotlin을 바이트 코드로 컴파일한 후 Java 디스어셈블러를 사용할 수 있습니다.
디컴파일은 IntelliJ Idea 내에서 수행하거나 FernFlower https://github.com/fesh0r/fernflower을 사용하여 수행할 수 있습니다(고맙습니다 @Jire).
몇 달 전에 확인한 바로는 자동화 툴이 없었습니다(또한 AFIK 1개 계획도 없습니다).
[ Tools ] > [ Kotlin ]> [ Show kotlin bytecode ]으로 이동합니다.
「」를
Kotlin을 「」에 송신한다.JavaAndroid Studio:
Mac에서는 -- 를 ShiftA누르거나 Windows 머신에서는 --ShiftA 를 누릅니다.
합니다.
Kotlin Bytecode선택합니다.Show Kotlin Bytecode메뉴로부터.
- 를 누릅니다.
Decompile의Kotlin Bytecodepanelmanel.manel을 합니다.manel.
- 이제 인접 탭에 Kotlin 파일과 함께 디컴파일된 Java 파일이 표시됩니다.
나는 코틀린을 바이트 코드로 컴파일하고 그것을 자바로 디컴파일한다.나는 Kotlin 컴파일러로 컴파일하고 cfr로 컴파일 해제한다.
내 프로젝트는 여기 있다.
이를 통해 다음을 컴파일할 수 있습니다.
package functionsiiiandiiilambdas.functions.p01tailiiirecursive
tailrec fun findFixPoint(x: Double = 1.0): Double =
if (x == Math.cos(x)) x else findFixPoint(Math.cos(x))
이를 위해:
package functionsiiiandiiilambdas.functions.p01tailiiirecursive;
public final class ExampleKt {
public static final double findFixPoint(double x) {
while (x != Math.cos(x)) {
x = Math.cos(x);
}
return x;
}
public static /* bridge */ /* synthetic */ double findFixPoint$default(
double d, int n, Object object) {
if ((n & 1) != 0) {
d = 1.0;
}
return ExampleKt.findFixPoint(d);
}
}
@louis-cad가 언급했듯이 "Kotlin source -> Java's byte code -> Java source"가 현재 유일한 솔루션입니다.
하지만 제가 선호하는 방법은 안드로이드용 Jadx 디컴파일러입니다.
폐쇄용 생성 코드를 볼 수 있으며, 저는 IntelliJ IDEA 디컴파일러에서 생성된 코드보다 "깨끗한" 코드입니다.
보통 Kotlin 클래스의 Java 소스 코드를 확인해야 하는 경우:
- :apk 성 generate :
./gradlew assembleDebug - GUI(Jadx GUI)를 사용하여 .
jadx-gui ./app/build/outputs/apk/debug/app-debug.apk
이 GUI 기본 IDE 기능에서는 클래스 검색, 클릭해서 실행 선언이 가능합니다.기타.
또한 모든 소스 코드를 저장하고 IntelliJ IDEA와 같은 다른 도구를 사용하여 볼 수 있습니다.
- Android Studio에서 kotlin 파일 열기
- 툴 -> kotlin -> slin 바이트 코드로 이동합니다.
- 당신의 kotlin 파일 옆에 열리는 새로운 창에서, 디컴파일 버튼을 클릭하세요. 그것은 당신의 kotlin 파일과 동등한 자바를 만들 것입니다.
Java 및 Kotlin은 Java Virtual Machine(JVM)에서 실행됩니다.
Kotlin 파일을 Java 파일로 변환하려면 두 가지 단계가 필요합니다. 즉, Kotlin 코드를 JVM 바이트 코드로 컴파일한 다음 바이트 코드를 Java 코드로 디컴파일합니다.
Kotlin 소스 파일을 Java 소스 파일로 변환하는 단계:
- Android Studio에서 Kotlin 프로젝트를 엽니다.
- 다음으로 [툴]-> [ Kotlin ]-> [ Kotlin 바이트 코드 표시]로 이동합니다.
- Kotin 파일의 바이트 코드를 얻을 수 있습니다.
- 바이트 코드에서 Java 코드를 가져오려면 디컴파일 버튼을 클릭하십시오.
언급URL : https://stackoverflow.com/questions/34957430/how-to-convert-a-kotlin-source-file-to-a-java-source-file
'programing' 카테고리의 다른 글
| 계산된 속성에 대해 형식 설명/Vuej가 컴파일되지 않음 (0) | 2022.08.25 |
|---|---|
| Vuejs2의 선택 태그에서 계산된 v-model (0) | 2022.08.25 |
| java.util은 왜 안 돼?get(int 인덱스)를 설정하시겠습니까? (0) | 2022.08.25 |
| C/C++에 표준 기호 함수(signum, sgn)가 있습니까? (0) | 2022.08.25 |
| Vuex: _이것.$store가 정의되지 않았습니다. (0) | 2022.08.25 |






