Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果类是用Kotlin创建的,则无法调试我的Android库_Java_Android_Kotlin_Aar - Fatal编程技术网

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

Java 如果类是用Kotlin创建的,则无法调试我的Android库,java,android,kotlin,aar,Java,Android,Kotlin,Aar,我创建了一个最初用Java编码的Android库,它输出了一个.aar文件,我在一些项目中使用了该文件 当我在一个用Kotlin创建的Android项目中包含这个库时,我决定调试这个项目中的代码,当调试器到达包含库类的行时,它成功地进入类,并且我可以在调试时看到类的源代码。我可以在lib的类中逐行地继续调试,一切都按预期进行 然而,我最近决定将这个库转换为Kotlin,但是现在,当调试器到达库的一个类时,我进入该类继续在那里进行调试,我再也看不到整个源代码了。我只能看到方法签名,但没有方法定义。

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

当我在一个用Kotlin创建的Android项目中包含这个库时,我决定调试这个项目中的代码,当调试器到达包含库类的行时,它成功地进入类,并且我可以在调试时看到类的源代码。我可以在lib的类中逐行地继续调试,一切都按预期进行

然而,我最近决定将这个库转换为Kotlin,但是现在,当调试器到达库的一个类时,我进入该类继续在那里进行调试,我再也看不到整个源代码了。我只能看到方法签名,但没有方法定义。我只看到这样的事情:

甲级公共课{ 公共娱乐功能1:kotlin.单元 公共娱乐功能2:kotlin.单位 公共娱乐功能3:kotlin.单元 } 在库的项目设置中,我没有做任何其他操作。我只是将文件从.java转换为.kt

以下是我迄今为止试图解决此问题的一些方法:

我确认在库中build.gradle文件的依赖项列表中包含了Kotlin的标准库。 我禁用了ProGuard它从来都不是问题,但为了以防万一,我删除了它。 我禁用了代码缩小,这从来都不是一个问题,但在这一点上,我愿意尝试任何东西。
有人知道为什么会发生这种情况吗?

在调试时,当提示选择源时,单击该选项

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


现在尝试通过选择“单步执行”选项等进行调试,调试器应该能够获取源代码。

使用库的项目是否配置为使用Kotlin?是的,如第二段所述,使用库的项目是Kotlin项目。我也有同样的问题。你找到解决办法了吗?@hmartinezd不幸的是没有。但我在Jetbrains bug报告网站上找到了一些关于这个问题的帖子。多年来,这似乎是一个众所周知的问题:得到了同样的问题。我们更喜欢用JAVA编写所有库,直到找到解决方案为止。