我在 Android Studio 中创建了裸 Android 应用程序,并在其中添加了这个 Google Services API 依赖项:implementation 'com.google.android.gms:play-services-pay:16.0.0'
现在我正在尝试Passes API
像这样访问主要活动:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GoogleApiAvailability g = new GoogleApiAvailability();
Log.e("Is available?", g.isGooglePlayServicesAvailable(this) + "");
PayClient payClient = Pay.getClient(this);
}
}
可用性检查(第 10 行)返回0
,这意味着成功,但是当我尝试PayClient
通过时,Pay.getClient(this)
我收到此错误:
2021-08-01 22:09:05.183 4722-4748/com.example.app E/GoogleApiManager: Failed to get service from broker.
java.lang.SecurityException: GoogleCertificatesRslt: Package signed with unknown certificate (go/gsrlt)
at android.os.Parcel.createExceptionOrNull(Parcel.java:2373)
at android.os.Parcel.createException(Parcel.java:2357)
at android.os.Parcel.readException(Parcel.java:2340)
at android.os.Parcel.readException(Parcel.java:2282)
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:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)
我的应用程序由有效证书签名,并且 Google 支持添加了相同的 SHA 指纹(如此处所述),我正在按照本教程通过本机 api 添加忠诚度卡:https ://developers.google.com/pay/passes /guides/implement-the-api/save-passes-to-google-pay?feed=native-android-app#call-android-sdk
有什么想法有什么问题吗?