如果类是使用 Kotlin 创建的,则无法调试我的 Android 库

veg*_*dio 5 java android kotlin aar

我创建了一个最初使用 Java 编码的 Android 库,它输出一个.aar我在一些项目中使用的文件。

当我将此库包含在项目(使用 Kotlin 创建的 Android 项目)中并且决定调试该项目中的代码时,当调试器到达包含库的类的行时,它会成功进入该类,并且我可以看到源代码当我调试该类的代码时。我可以在库的类中继续逐行调试,一切都按预期工作。

然而,我最近决定将此库转换为 Kotlin,但现在,当调试器到达该库的类之一并且我进入该类继续在那里调试时,我无法再看到整个源代码。我只能看到方法签名,但看不到方法定义。我只看到类似的东西:

public class ClassA {
    public fun function1(): kotlin.Unit

    public fun function2(): kotlin.Unit

    public fun function3(): kotlin.Unit
}
Run Code Online (Sandbox Code Playgroud)

我没有在库的项目设置中做任何其他事情。我只是将文件从 转换.java.kt.

到目前为止,我尝试过以下一些方法来解决此问题:

  • 我确认我将 Kotlin 的标准库包含在build.gradle库中文件的依赖项列表中。
  • 我禁用了 ProGuard(这从来都不是问题,但我将其删除以防万一)。
  • 我禁用了代码缩小(这也从来都不是问题,但此时我愿意尝试任何事情)。

任何人都知道为什么会发生这种情况?

Tam*_*mui 6

调试时提示“选择源”时,单击该选项

在此输入图像描述

并从库的本地代码库中选择库模块的“main”文件夹

在此输入图像描述

现在尝试调试(通过选择“步入”选项等),调试器应该能够获取源代码。