最近在写的一个 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...
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.