最近产品要求把ping++的sdk升级到最新,因为我们平时测试都是直接用AS run到手机上,升级sdk后的ping++的模拟支付环境和正式环境均测试没有问题。
但是!!!
上线后,用户下单支付时却崩溃了!报错如下:
1 java.lang.VerifyError: Verifier rejected class com.pingplusplus.android.Pingpp: boolean com.pingplusplus.android.Pingpp.signAgreement 2 (android.app.Activity, java.lang.String) failed to verify: 3 boolean com.pingplusplus.android.Pingpp.signAgreement(android.app.Activity, java.lang.String): 4 [0x13] ‘this‘ arg must be initialized (declaration of ‘com.pingplusplus.android.Pingpp‘ appears in /data/app/包名. 5 android-Xu-oMJg1tv-1aa7cS92MKw==/base.apk!classes3.dex) 6 at com.pingplusplus.android.Pingpp.createPayment(Unknown Source:0) 7 at 包名.t4.android.commodity.order.FragmentPayWay$8.onSuccess(FragmentPayWay.java:450) 8 at 包名.t4.unit.MyJsonHttpResponseHandler$1.run(MyJsonHttpResponseHandler.java:36) 9 at android.os.Handler.handleCallback(Handler.java:790) 10 at android.os.Handler.dispatchMessage(Handler.java:99) 11 at android.os.Looper.loop(Looper.java:192) 12 at android.app.ActivityThread.main(ActivityThread.java:6769) 13 at java.lang.reflect.Method.invoke(Native Method) 14 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 15 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:817)
真的百思不得其解,问官方技术人员,告诉我clean一下AS,根本没用好吗!
有种冲动想换回之前旧版本的SDK,然后试着将ping++版本号 ‘com.pingxx:pingpp-android:2.2.4‘换成了2.2.2,竟然好了!
所以这锅是ping++的咯?!
By LiYing