如今的第三方付費已然是支付寶與微信支付的天下了匾委,當然這是在國內圃阳。本文主要講述一下接入微信支付的一些問題盅弛,避免重復踩坑真友。
微信支付的文檔很坑盔然,也許不僅僅是微信支付這一塊的開發(fā)文檔是嗜。所提供的Demo必須手動下載解壓導入,沒錯鹅搪,就是這么原始,美其名為了安全著想恢准。
image.png
跟著官方的指導馁筐,把官方的文檔加載下來了,導入Android Studio敏沉。
微信支付的官方Demo是用Eclipse開發(fā)出來的盟迟,所以導入AS種會有一些問題出現(xiàn)辅肾。
問題1:error: expected reference but got (raw string) @+android:style/Animation.Translucent.
這個是gradle 3.X 的坑,網上給予的解決方案是要尔,更換gradle版本,比如更換成4.2.1赵辕。
但是呢还惠,僅僅是為了這個而去修改gradle版本私杜,可能會引起更多的問題救欧,比如說持續(xù)集成的問題锣光。
解決:
不更換gradle版本,這個錯誤是“+“”的鍋蹬刷,因此可以將“@+android:style/Animation.Translucent”這一個出現(xiàn)在項目中的代碼迂卢,去掉“+”冷守。Rebuild 惊科,然后發(fā)現(xiàn)控制臺報了很多查找不到資源的問題,包的路徑出錯充活。代碼涉及的文件并不是很多混卵,這里采用的做法是窖张,手動導入那些資源包。
再次Rebuild赘淮,出現(xiàn)問題。
問題2:Program type already present: com.tencent.a.a.a.a.a
這是因為官方Demo下載到本地的時候梢卸,里面包含libammsdk.jar蛤高、wechat-sdk-android-with-mta.jar兩個庫。而wechat-sdk-android-with-mta是比較齊全的庫戴陡,已經包含了微信分享恤批、登錄、收藏、支付等功能篮昧,兩者出現(xiàn)沖突。
解決:
刪除libammsdk這個庫懊昨,重新Rebuild,Demo可以正常跑起來了嫉你。
PS:
接入微信支付時躏惋,調試遇到的大部分問題都是簽名錯誤的問題,所以調試過程中距误,要多注意簽名是否準確准潭。