You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端WalletConnect Sign Client初始化及连接MetaMask报错求助

Android WalletConnect 初始化异常及 AppMetaData 配置问题

一、解决 NoSuchMethodError 异常

这个错误的核心原因是WalletConnect各组件依赖版本不兼容,尤其是Core与Sign客户端的版本必须严格一致——内部接口(如JsonRpcInteractorInterface)在不同版本中存在变动,版本不匹配会导致方法找不到的报错。

解决步骤:

  • 统一WalletConnect依赖版本:确保项目中core、sign等WalletConnect相关库使用完全相同的版本,示例Gradle依赖:
    implementation "com.walletconnect:core:2.10.0"
    implementation "com.walletconnect:sign:2.10.0"
    
  • 清理构建缓存:执行./gradlew clean后重新构建项目,避免旧版本类文件残留。
  • 排查依赖冲突:通过./gradlew dependencies查看依赖树,排除第三方库间接引入的不同版本WalletConnect组件。

二、Core.Model.AppMetaData 字段说明及钱包URL问题

字段正确填写规则

AppMetaData 是用来描述你的应用(而非MetaMask钱包)的元数据,连接时会展示给MetaMask用户,字段需按自身应用信息填写:

  • name: 你的应用名称,例如"My Web3 DApp",不要填写"Metamask"
  • description: 应用的简短功能描述,例如"一站式Web3资产管理工具"
  • url: 你的应用官方网站URL,例如"https://my-dapp.com",此处并非钱包URL,而是你应用的地址
  • icons: 应用图标在线URL列表,例如listOf("https://my-dapp.com/app-icon.png"),需提供可公开访问的图片链接,MetaMask会显示该图标
  • redirect: 应用的跳转Scheme,需与AndroidManifest中注册的Scheme一致,用于MetaMask连接成功后回调你的应用,示例配置需在Manifest中添加对应<intent-filter>:
    <activity android:name=".YourCallbackActivity">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="kotlin-wallet-wc" />
        </intent-filter>
    </activity>
    

关于钱包URL的误解

你无需获取MetaMask的URL,AppMetaData的url字段仅需填写自身应用的官网地址。MetaMask作为钱包端,其元数据由WalletConnect自动识别,无需手动配置。

内容的提问来源于stack exchange,提问作者Lukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:35:17