QQ、微博、微信sdk几乎同时在2017年3月30日更新了sdk包和文档;其中,微信和微博改成了gradle形式更新sdk,qq还是jar包的形式引入。
更新微信sdk的时候遇到一个问题,按照文档所述的资源引入路径配置之后,发现原来用到的很多类都找不到了,原因是微信sdk里面的包名改了,原来用的是com.tencent.mm.sdk.*,现在的包名叫com.tencent.mm.opensdk.*;
所以,我们需要将原来import的错误包名(com.tencent.mm.sdk)全部修改成com.tencent.mm.opensdk。
修改完成之后能编译过了,打签名包运行......发现分享的时候出现错误,调起微信之后无法分享到好友,也调不起来微信朋友圈。
原因是我们混淆文件没有修改,原来反混淆的文件里面用的包名仍然是com.tencent.mm.sdk,把它修改成:
-keep class com.tencent.mm.opensdk.** { *; }
现象如下(如果你也遇到过的话):
![](https://img.haomeiwen.com/i3710986/9511f90222651472.png)
![](https://img.haomeiwen.com/i3710986/f9d0e0da16333907.png)
![](https://img.haomeiwen.com/i3710986/ab512a8bed41b8ed.png)
![](https://img.haomeiwen.com/i3710986/f12a073b5718c36b.png)
网友评论
Program type already present: com.tencent.mm.opensdk.a.a$a
Message{kind=ERROR, text=Program type already present: com.tencent.mm.opensdk.a.a$a, sources=[Unknown source file], tool name=Optional.of(D8)},我看不懂是什么意思呢,你有遇到吗
引入失败啊。。。