最近在写的一个 Android app,集成了微信支付。
参考官方文档用 gradle 集成了 SDK。调试的时候一切正常。
结果过了一个月项目交付的时候重新 build 了一个包,调用微信支付的时候居然一直提示 当前的微信版本不支持支付
(微信是 play 上最新版本的)。正好换过一次 key,大概觉得是不是签名验证失败的锅。结果在微信后台改完签名之后,跟服务器联调死活都解决不了这个问题。git blame
看了一下代码,已经一个月没有改动了。更换 key、切换环境,把所有方法都试过之后才发现锅原来是微信 SDK 的。
官方文档上
dependencies {
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}
因为没有加具体的版本号,所以会集成最新的 SDK。在 jcenter 上搜索了一下,改成上一个版本的 SDK 之后就一切正常了。
diff 了一下两个版本的代码。不知道现在需要什么版本的微信才能支持这个最新的 SDK...