android - 尝试调用“play-services-pay”Android SDK API 时“使用未知证书签名的包”
问题描述
我正在尝试实现从我的 React Native 应用程序将忠诚卡添加到 Google Pay 帐户的功能。我正在使用本教程。
我成功创建了自定义 Native 包和模块,并且我的 JavaScript 调用正在运行。那不是我的问题。
我的问题是我打电话的时候Pay.getClient(this.getCurrentActivity());
。我收到此错误:
2021-07-29 21:38:40.695 17480-19373/com.examp.le E/GoogleApiManager: Failed to get service from broker.
java.lang.SecurityException: GoogleCertificatesRslt: Package signed with unknown certificate (go/gsrlt)
at android.os.Parcel.createException(Parcel.java:2071)
at android.os.Parcel.readException(Parcel.java:2039)
at android.os.Parcel.readException(Parcel.java:1987)
at com.google.android.gms.common.internal.IGmsServiceBroker$Stub$zza.getService(com.google.android.gms:play-services-basement@@17.5.0:14)
at com.google.android.gms.common.internal.BaseGmsClient.getRemoteService(com.google.android.gms:play-services-basement@@17.5.0:281)
at com.google.android.gms.common.api.internal.zabj.run(com.google.android.gms:play-services-base@@17.5.0:11)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.os.HandlerThread.run(HandlerThread.java:67)
似乎这意味着我无法初始化/获取 GoogleApi 访问权限,因为我处于调试模式(在调试模式下构建我的应用程序)并且我的证书未签名。
我发现包的文档非常有限,com.google.android.gms:play-services-pay
所以我不确定我是否能够在调试/开发环境中调用它。
知道如何使它工作吗?这可能是由我的 Activity 源自 React Native ( ReactContextBaseJavaModule.getCurrentActivity()
) 引起的吗?
编辑:在使用 Google 密钥库的发布版本上也有同样的错误 :(
解决方案
推荐阅读
- c# - 如何避免不总是存在的绑定属性上的 BindingExpression 路径错误?
- php - Laravel 不同的查询和对象到数组的转换不起作用
- google-kubernetes-engine - Istio Ingress Gateway Pod 的 GCP 健康检查失败
- node.js - 使用 Microsoft Azure 功能的 HTTP 上的 FTP
- powershell - 将选择的值存储在变量中并将其传递给PowerShell中的另一个函数?
- inno-setup - 如何在 Inno Setup 中用不同语言重写 WelcomePage 的预定义消息?
- javascript - 如何使用javascript在moment.js中进行日期转换?
- python - 使用 python 和 BeautifulSoup 从 html 中提取链接:“NoneType”对象没有属性“attrs”
- c - 无法打印出动态二维结构数组的值
- javascript - 如何在运行时合并两个数组