ionic cordova-plugin-pingapp採坑記
需求:ionic3專案使用p++對接支付寶,微信支付。
1.安裝h5sdk,實現wap支付
安裝:npm install pingpp-js
使用語法:
宣告:public pingpp=require('pingpp-js');
支付:this.pingpp.createPayment(res, function(result, err) {
console.log("呼叫支付-----wap");
console.log(result);
console.log(err.msg);
console.log(err.extra);
});
2.安裝cordova sdk,實現app支付
安裝:cordova plugin add git+https://git.coding.net/pingplusplus/pingpp-cordova.git
使用:
window.Pingpp.createPayment(res, function(result,error){
console.log('呼叫支付-----0');
console.log(result);
console.log(error);
});
打包時報錯:
查詢各種資料後發現原因為:android中當方法總數超過64k時會報這個錯誤;
解決方案:開啟\platforms\android\build.gradle檔案
分別在這兩個地方加上這兩句話,打包時不再報之前的錯誤,此時出現了新的錯誤:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/tencent/mm/opensdk/channel/a/a$a.class
解決方案:
刪除plugins\cordova-plugin-pingpp\sdk\android\lib\pingpp\libs\wechat-sdk-android-without-mta.jar和node_modules\cordova-plugin-pingpp\sdk\android\lib\pingpp\libs\wechat-sdk-android-without-mta.jar
打包成功,並能成功調起app支付;