2

我在 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

有什么想法有什么问题吗?

4

0 回答 0