kotlin - NoSuchMethodError,函数名已更改
问题描述
java.lang.NoSuchMethodError: 'java.math.BigInteger org.kethereum.model.ECKeyPair.getPrivateKey-V6oYYD4()'
我在我的项目中使用了一个 KEthereum 库,当调用一个方法.getPrivateKey()时,这个奇怪的随机字符串-V6oYYD4添加到了原始函数中。我以前没有遇到过这种类型的问题。
原始函数名称:.getPrivateKey()
修改函数名:.getPrivateKey-V6oYYD4()
函数从单元测试调用。我正在使用科特林。
执行代码行是
val seed: org.kethereum.bip32.model.Seed = MnemonicWords(VALID_MNEMONIC_15).toSeed()
val actualPrivateKey: String = seed.toKey("m/").keyPair.privateKey.key.toString()
编辑:解决了!问题出在其他地方。我查看了库的测试文件,我意识到我必须先序列化 ExtendedKey。所以我这样做了,我的代码如下所示:
val seed: org.kethereum.bip32.model.Seed = MnemonicWords(VALID_MNEMONIC_15).toSeed()
val derivedKey = seed.toKey("m/")
assertThat(derivedKey.serialize()).isEqualTo(XPRV_OF_MNEMONIC_15)
现在一切正常。
最后的额外字符串可能来自已编译的 JVM 代码。
解决方案
推荐阅读
- node.js - 将 promiseAll 转换为渐进式 promise 解决(例如每 3 个promises)不起作用
- java - 如何在 smooks 中设置语言环境
- ios - NavigationLink 似乎只占用很小的空间
- r - 如何转置特定列值的数据框?
- javascript - javascript AudioNodes不能改变采样率
- python - BeaitifulSoup 无法读取所有命名空间
- gstreamer - GStreamer 'rawvideoparse' 元素读取错误的字节数
- angular - 角度验证器和双向绑定问题
- python - 无法重塑不存在的张量
- android - 蓝牙 HC-05 传输到 f103rb