集成友盟重新编译:
首先报错:
To run dex in process, the Gradle daemon needs a larger heap. It currently has 910 MB
以为是gradle堆内存分配的大小不够,卡卡一顿配置,后来运行仍然不行当然我也知道可能是哪个jar包冲突,或者方法超过65k,也尝试在app的build.gradle中配置
defaultConfig { ... multiDexEnabled true }仍然报错
报错:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/ta/utdid2/android/utils/AESUtils.class
问了下友盟的技术,说去掉utdid即可,尝试下成功。果然是坑,这个包可以不集成,我已经建议他们写入文档,给后面的人少留坑
下面我还会纪录微信支付的坑:
集成完毕,确保APP_ID正确,仍然调不起来微信
我又从源头排查一遍配置,包括后台配置的包名,签名,且确保订单已生成(拿到preId),仍然调不起来
有人说需要清理一下微信的内存,我清理了仍然不行,生气之后直接写在重装,重装后能调起来登录页面,但是登录不上,研究好半天,发现需要先登录,然后才能调起来支付。
果真坑爹,还得吐槽下微信的开发文档写的烂的要命!
关于 微信登录(2016.11)
最近还发现一种情况,在集成微信登录时,各种配置保证正确的情况下,仍然调不起来,这种情况下建议多尝试几个测试机,或者清理微信内存,清理内存不要担心聊天记录被删除,清理内存只是清理掉缓存,聊天记录还是在的。
这次调不起来登录的原因是:之前使用的错的APP_ID(其他项目的),个人猜测在第一次编译运行时生成缓存,在修改正确的APP_ID后SDK仍然使用了之前错误的配置,所以在清理缓存时候成功调起。
以上,以往能在你迷惑之时对你有一点点启发,尽快填坑。