我在本机 Android 应用程序中使用 Braintree SDK 进行 PayPal 集成。我正在使用我的自定义 UI 输入卡详细信息。输入卡详细信息后。调用 card.tokenize
的 SDK 调用。
BraintreeFragment mBraintreeFragment;
try {
mBraintreeFragment = BraintreeFragment.newInstance( MainActivity.this, btToken);
Card.tokenize(mBraintreeFragment, cardBuilder);
Log.i("TAG", "getTokenized Card TRY::");
} catch (Exception e) {
Log.i("TAG", "exception Card");
Log.i("TAG", "Exception" + e);
}
mBraintreeFragment = BraintreeFragment.newInstance( MainActivity.this, btToken);
在尝试 tokenie 时抛出错误。
抛出的错误是 ::: java.lang.NoSuchMethodError: No static method newInstance(Landroidx/appcompat/app/AppCompatActivity;Ljava/lang/String;)Lcom/braintreepayments/api/BraintreeFragment; in class Lcom/braintreepayments/api/BraintreeFragment; or its super classes (declaration of 'com.braintreepayments.api.BraintreeFragment' appears in /data/app/com.ust.fcs.wiwo-Eg4iuAwmHl6_q2RzdgkwGA==/base.apk) at com.ust.fcs.braintreesdklib.activities.MainActivity.getBraintreeDeviceData(MainActivity.java:549)
。请建议我解决它。
答案 0 :(得分:0)
MainActivity 应从 Braintree SDK v3 开始扩展 AppCompatActivity(“v2”现已弃用)。
参考:https://developers.braintreepayments.com/guides/client-sdk/migration/android/v2
答案 1 :(得分:0)
这是由于 Baintree 依赖项的实现,我已更新为:
implementation 'com.braintreepayments.api:braintree:3.14.0' implementation 'com.braintreepayments.api:drop-in:4.6.0'
,它解决了
以上问题。