2016-03-20 3 views
0

Ich habe meine Song Scrapbook-App kürzlich auf die neueste Version aktualisiert und auch alle von der App verwendeten APIs von Drittanbietern aktualisiert . Ein solches Tool von Drittanbietern ist das PayPal Android SDK, mit dem ich meine App monetarisieren kann, da ich in einem Land lebe, in dem der Google Wallet Merchant-Dienst derzeit nicht unterstützt wird. Das bedeutet, dass ich den Play Store weder in der App noch einmalig nutzen kann Systeme in meiner App kaufen.Der Trust-Manager konnte nicht auf aak @ ... extrahiert werden. - PayPal-Android-SDK 2.13.3

Doch nach dem PayPal SDK auf die neueste Version in meinem app Aktualisierung (via mavenCentral) bekomme ich die folgenden Fehler in Android Studio (Version: 1.5.1) jedes Mal mag ich eine PayPal-Transaktion auszuführen:

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 [email protected] 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 [email protected], 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 [email protected], 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 

Ich weiß, dass dieses Problem nicht von dem Gerät verursacht wird, auf dem ich die App getestet habe - da ich diese App auf zwei sehr unterschiedlichen Geräten (Samsung Grand Neo und Cubot X15) getestet habe und beide Geräte ähnliche Fehler erzeugten. Ich habe versucht, das Problem zu googlen, um das Problem zu lösen, aber nach stundenlanger Suche keine Lösung gefunden.

Jede Hilfe wird sehr geschätzt. Shore-T.

Antwort

4

Also brauchte ich ungefähr 5 Stunden, um diese herauszufinden - was ich durch eine schrittweise Beseitigung der möglichen Ursachen des Problems erreicht habe.

Es stellte sich heraus, das eigentliche Problem war meine Eile beim Versuch, die App zu aktualisieren. Der Grund dafür ist, dass die PayPal SDK 2.13.3 Version eine neue Regel in der ‚proguard-rules.pro‘ Datei hat, die sehr wichtig ist, sind:

Regel wie folgt:

# 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; 
    } 

Dies verhindert, dass die Minimieren (Verschleierung) von Gradle durch Entfernen WICHTIGER Code aus einem früheren Bug-Fix im PayPal SDK, der Probleme mit der Secure-Layer-Socket-Factory verursacht hat. Also ja - das war die Lösung: Die aktualisierte App funktioniert jetzt perfekt (genau wie es nötig ist).

Lektion gelernt: Stellen Sie sicher, dass Ihre 'Proguard-Regeln' genau so sind, wie sie sein sollen!

Über & Heraus, Shore-T.

+0

Ich hatte das gleiche Problem mit JudoPay SDK - das war es, was es behoben. Danke Kumpel :) –

Verwandte Themen