【HMS core】【Wallet Kit】【解决方案】华为钱包的客户端示例代码为何无法运行

【问题描述】

在华为开发者联盟官方文档上下载的华为钱包(Wallet Kit)的客户端示例代码,导入到Android Studio中无法运行,下面跟着我一起来看一看究竟是怎么回事吧!

首先我们找到华为开发者联盟官方文档钱包服务的客户端示例代码的下载链接,如下所示:

developer.huawei.com/consumer/cn/doc/development/HMSCore-Examples/android-sample-code-0000001050159395

下载完成之后导入到Android Studio中出现了以下报错:

image.png

从上图中我们可以看到报错一共有14处,经过分析之后我们可以发现这些报错主要是分为两类:

①   、找不到相应的控件:一共是6

      image.png

②   、找不到相应的方法:一共是8处

      image.png

 

 

【解决方案】

1、环境检查

首先最基本的应该是检查开发环境是否满足要求,官方文档上也有对开发环境的要求,文档如下:

developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/guide-enter-0000001077506760

     image.png

相信开发环境大家都是满足的,那么就要回归到案例代码本身了。

2、代码修改

错误类型①:

针对类型①的错误,这个其实很好解决,首先来看代码:

image.png

因为是控件找不到,所以我们只需要在WalletPassCnActivity.java这个页面它所对应的xml文件即wallet_pass_cn.xml中添加以上缺失的按钮的控件即可,我们添加如下代码,这里只贴出了3个控件的,其余控件都是一样的道理:

image.png

添加完之后你就会惊喜的发现WalletPassCnActivity.java类中关于控件部分已经不报错了,如下图所示:

image.png

 

错误类型②:

针对类型②的错误,我们就需要好好分析一下了,既然是方法找不到,那么首先我们需要检查一下SDK的依赖包是否正确下载,打开项目的External Libraries,查找是否有wallet的依赖包,经过检查发现依赖包已经正确引入了,如下图所示:

image.png

 

OK,继续分析,既然依赖有了,那会不会是版本不正确导致的方法不存在呢?

我们到官方文档上查找一下看看版本更新说明,文档链接贴在下方:

developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/version-change-history-0000001050042326

 

通过文档我们可以发现,我们当前依赖的版本是4.0.2.301版本,而文档上最新的版本是4.0.4.301,到这里我们非常有理由怀疑是版本不正确导致的,那么本着跟随时代潮流的原则我们修改为最新的版本来尝试一下是否能解决,找到应用的build.gradle文件中的dependencies闭包,修改wallet的版本号:

image.png

 

我们重新编译项目,你会发现报错已经不存在了,并且对应的方法都可以找到了:

image.png

 

此时已经可以运行了:

image.png

那么到这里关于WalletKit客户端示例代码报错的问题我们就解决啦!

更多相关学习资料:
https://developer.huawei.com/consumer/cn/forum/topic/0202781443213490607?fid=18?ha_source=zzh
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5555773