我试图帮助调试Wallet Connect (v2)集成到一个用Kotlin编写的Android应用程序中(我知道Java,但我自己不是Android/Kotlin开发人员)。
我从com.walletconnect:android-core
库中得到一个异常,我想设置一个断点(或插入一些调试打印)以进行检查。
尽管我非常感谢任何直接使用WalletConnect的帮助,但这个问题的主要目的是弄清楚我如何自己进行调试。
该库通过以下方式包含在Gradle中
implementation("com.walletconnect:android-core:1.3.0")
implementation("com.walletconnect:sign:2.1.0")
该错误来自JsonRpcInteractor
(类似于方法manageSubscriptions
)(不知道为什么他们将其 Package 在java.lang.InternalError
中,因为这不是JVM错误):
java.lang.InternalError: JsonRpcInteractor: Received unknown object type
at com.walletconnect.android.impl.json_rpc.domain.JsonRpcInteractor$handleError$1.invokeSuspend(JsonRpcInteractor.kt:271)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
在Android Studio的External Libraries下,我只能找到JsonRpcInteractor
实现的接口JsonRpcInteractorInterface
,而不能找到类本身。类被声明为internal class
,我想这可能是原因吧?
因为我找不到这个类,所以我也不能在它里面设置断点。有没有什么技巧可以让我在这个类里面设置断点呢?
在this之后,我还尝试用本地副本替换依赖项,并在本地副本中添加了一些print语句,但在我尝试的所有变体中,Gradle都无法找到库项目。
我可以使用repo根目录中的./gradlew installDebug
构建完整的WalletConnectKotlinV2
项目(除了android-core
之外,它还包含其他组件)。但是还不能准确地弄清楚它安装了什么。如果我能将库构建到jar
中,我可能就能更容易地将它链接到项目中。
1条答案
按热度按时间klsxnrf11#
我们已经注意到这个问题,并且已经有了PR和一个可能的修复。它应该包含在下一个版本中。