我写了一个已经上传到私人服务器的库。当我将库作为依赖项包含在我的应用程序项目中,并查看其中一个库类的源代码时,源代码实际上并未反编译。它只显示类名和方法。例如:
package com.example.library.ui
public final class RoundedDrawable public constructor() : android.graphics.drawable.Drawable {
public final var backgroundColor: kotlin.Int /* compiled code */
// ... other similar fields
public open fun draw(canvas: android.graphics.Canvas): kotlin.Unit { /* compiled code */ }
// ... other similar functions
}
如您所见,它只显示/* compiled code */
个评论,而不是完整的源代码。有一个选项提供给"反编译为Java&#34 ;;哪个有效,但我更愿意看到Kotlin来源。这可能吗?
我发现similar question解释了如何显示原始Java代码,但没有为Kotlin提供任何内容。
答案 0 :(得分:0)
你在使用Gradle吗?
You need to download sources for the library:
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
如果找到附加的源/文档,IntelliJ将在查看.class
文件时使用这些文件。
使用Maven,您可以使用右键单击 - >从工具窗口执行此操作。下载资源
除此之外,将.class
文件反编译为Kotlin是不可能的,并且效果不错。 Despector有一个非常粗糙的Kotlin“反编译器”。