首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法提取a.a.k@上的信任管理器...- PayPal-Android-SDK 2.13.3

无法提取a.a.k@上的信任管理器...- PayPal-Android-SDK 2.13.3
EN

Stack Overflow用户
提问于 2016-03-20 23:32:22
回答 1查看 1.6K关注 0票数 1

我最近将我的Song Scrapbook应用程序更新到了最新版本,并确保更新了该应用程序使用的所有第三方API。其中一个第三方工具是PayPal Android SDK,我用它来赚钱,因为我所在的国家目前不支持Google Wallet Merchant服务-这意味着我不能在应用程序中使用Play Store或一次性购买系统。

然而,在我的应用程序中(通过mavenCentral)将PayPal SDK更新到最新版本后,每次我想要执行PayPal事务时,我都会在Android Studio (版本: 1.5.1)中得到以下错误:

代码语言:javascript
复制
    debug W/paypal.sdk: PayPalService created. API:19 PayPalSDK/PayPal-Android-SDK 2.13.3 (Android 4.4.4; samsung GT-I9060I; )
    03-20 16:58:45.540 7804-7804/com.whitsoft.songscrapbook.debug W/ApplicationPackageManager: getCSCPackageItemText()
    03-20 16:58:45.550 7804-7804/com.whitsoft.songscrapbook.debug W/ApplicationPackageManager: getCSCPackageItemText()
    03-20 16:58:45.550 7804-7804/com.whitsoft.songscrapbook.debug I/dalvikvm: Could not find method com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable, referenced from method com.paypal.android.sdk.at.a
    03-20 16:58:45.550 7804-7804/com.whitsoft.songscrapbook.debug W/dalvikvm: VFY: unable to resolve static method 10405: Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable (Landroid/content/Context;)I
    03-20 16:58:45.610 7804-7804/com.whitsoft.songscrapbook.debug I/dalvikvm: Could not find method io.card.payment.CardIOActivity.checkSelfPermission, referenced from method io.card.payment.CardIOActivity.onCreate
    03-20 16:58:45.610 7804-7804/com.whitsoft.songscrapbook.debug W/dalvikvm: VFY: unable to resolve virtual method 13172: Lio/card/payment/CardIOActivity;.checkSelfPermission (Ljava/lang/String;)I
    03-20 16:58:45.820 7804-7843/com.whitsoft.songscrapbook.debug I/System: Loaded time zone names for "en" in 132ms (127ms in ICU)
    03-20 16:58:45.840 7804-7804/com.whitsoft.songscrapbook.debug W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4168cbc0)
    03-20 16:58:45.840 7804-7804/com.whitsoft.songscrapbook.debug E/AndroidRuntime: FATAL EXCEPTION: main
                                                                            Process: com.whitsoft.songscrapbook.debug, PID: 7804
                                                                            java.lang.RuntimeException: Unable to start service com.paypal.android.sdk.payments.PayPalService@41e9c5a0 with Intent { cmp=com.whitsoft.songscrapbook.debug/com.paypal.android.sdk.payments.PayPalService (has extras) }: java.lang.IllegalStateException: Unable to extract the trust manager on a.a.k@41ff61a0, sslSocketFactory is class com.paypal.android.sdk.bn
                                                                                at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2987)
                                                                                at android.app.ActivityThread.access$2100(ActivityThread.java:166)
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                at android.os.Looper.loop(Looper.java:136)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5584)
                                                                                at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
                                                                                at dalvik.system.NativeStart.main(Native Method)
                                                                             Caused by: java.lang.IllegalStateException: Unable to extract the trust manager on a.a.k@41ff61a0, sslSocketFactory is class com.paypal.android.sdk.bn
                                                                                at a.ak.<init>(Unknown Source)
                                                                                at a.ak.<init>(Unknown Source)
                                                                                at a.am.b(Unknown Source)
                                                                                at com.paypal.android.sdk.bt.<init>(Unknown Source)
                                                                                at com.paypal.android.sdk.payments.PayPalService.a(Unknown Source)
                                                                                at com.paypal.android.sdk.payments.PayPalService.onStartCommand(Unknown Source)
                                                                                at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2970)
                                                                                at android.app.ActivityThread.access$2100(ActivityThread.java:166) 
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380) 
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                at android.os.Looper.loop(Looper.java:136) 
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5584) 
                                                                                at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
                                                                                at dalvik.system.NativeStart.main(Native Method) 
     03-20 17:03:46.103 7804-7804/? I/Process: Sending signal. PID: 7804 SIG: 9

我知道这个问题不是由我测试应用程序的设备引起的-因为我在两个截然不同的设备(三星大新和立方体X15)上测试了这个应用程序,这两个设备都产生了类似的错误。我试着用谷歌搜索这个问题,试图解决这个问题,但经过几个小时的搜索,我没有找到解决方案。

任何帮助都将不胜感激。SilSur。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 04:35:52

因此,我花了大约5个小时才弄清楚这个问题-通过一步一步地消除问题的可能原因,我实现了这一点。

事实证明,真正的问题是我匆忙地更新了这款应用。原因是PayPal SDK2.13.3版本在'proguard-rules.pro‘文件中有一个新规则,其中包含以下内容非常重要:

规则如下:

代码语言:javascript
复制
    # This is added for okhttp 3.1.2 bug fix as shown at https://github.com/square/okhttp/issues/2323
    -keepclassmembers class * implements javax.net.ssl.SSLSocketFactory {
         private javax.net.ssl.SSLSocketFactory delegate;
    }

这防止了Gradle的minify (混淆)进程从PayPal SDK中先前导致安全层套接字工厂问题的bug修复中删除重要代码。所以是的-这就是修复:更新的应用程序现在可以完美地工作(就像所要求的那样)。

学到的教训:确保你的“前卫规则”完全符合它们的预期!

完毕完毕,SilSur。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36115725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档