java - 如果类是使用 Kotlin 创建的,则无法调试我的 Android 库
问题描述
我创建了一个最初用 Java 编码的 Android 库,它输出了一个.aar
我在某些项目中使用的文件。
当我将这个库包含在一个项目(一个使用 Kotlin 创建的 Android 项目)中并且我决定调试这个项目中的代码时,当调试器到达包含库类的行时,它成功进入该类并且我可以看到源代码我在调试它时类的代码。我可以在 lib 的类中逐行继续调试,一切都按预期工作。
然而,我最近决定将这个库转换为 Kotlin,但是现在,当调试器到达该库的一个类并且我进入该类继续在那里调试时,我再也看不到整个源代码。我只能看到方法签名,但没有方法定义。我只看到以下内容:
public class ClassA {
public fun function1(): kotlin.Unit
public fun function2(): kotlin.Unit
public fun function3(): kotlin.Unit
}
我没有在图书馆的项目设置中做任何其他事情。我只是将文件.java
从.kt
.
以下是我迄今为止尝试解决此问题的一些方法:
- 我确认我在库中
build.gradle
文件的依赖项列表中包含了 Kotlin 的标准库。 - 我禁用了 ProGuard(它从来都不是问题,但我删除了它以防万一)。
- 我禁用了代码缩小(这也从来不是问题,但此时我愿意尝试任何事情)。
任何人都知道为什么会这样?
解决方案
推荐阅读
- php - Twig:如何检查是否有请求?(寻找 symfony 5:app.request)
- javascript - 在多选下拉列表中获取选定值并将它们插入 JSON
- node.js - 实时聊天技术的表现
- swift - 如何从“renderer(_:nodeFor:)”实例方法中捕获节点?
- c# - Azure Functions EventHub 触发器连接字符串
- jenkins - 在使用 curl 的 Jenkins 管道中如何存储响应 cookie?
- dns - 为什么我有一条指向 namecheap 服务器 IP 的 A 记录?
- c# - 如何从事件存储中查询多个聚合?
- google-chrome - Chrome 无法加载共享库:libX11.so.6
- r - 当使用“poly”函数生成预测变量时,R 仅返回非零系数估计值。如何将零值放入向量中?