Android ShareSDK微信分享失败及其朋友圈相关问题
最近在研究App分享功能、项目上决定会sharesdk、最近发现这个做分享真的很快、比如新浪微博、腾讯微博、QQ空间、人人网、开心网、印象笔记、有道云笔记、Google 等等、但是中国这个国度、Google 和Facebook这些国外的平台是用不了的、所有的分享都是几句代码就搞定、但是微信有点麻烦、下面我把如何解决问题说一下、方便其他开发者参考、自己以后也可以查阅
1、注册微信开放平台、微信开发平台资源管理地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN、注册的时候要注意以下几点
a.填写你的应用名称(注意一定要与你的应用名称一致,我由于把一个字母大小写写错害得我为这个问题纠结了5个月,大家一定要注意)
b.在应用签名上填写在步骤1中得到的签名
c.包名一定要与你的应用包名完全一致
d.信息填写完整 提交审核 其实这个时候你已经得到你的AppID把这个加入到你的项目中去 就可以了
f.等待微信审核通过、你就可以调试你的应用了
2、修改ShareSDK.xml、换成自己的AppId
<Wechat Id="4" SortId="4" AppId="微信AppId" AppSecret="微信AppSecret" BypassApproval="false" Enable="true" /> <WechatMoments Id="5" SortId="5" AppId="微信AppId" AppSecret="微信AppSecret" BypassApproval="false" Enable="true" />
3、添加微信的回调activity、然后再manifest中注册
<activity android:name="项目包名.wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" />
4、分享的参数可以参考Sample项目中、WechatPage这个类、由于不同的分享类型、对参数要求不一样、一定要严格对比、否则调用不了微信客户端
如、SHARE_TEXT、要求要title和text、SHARE_WEBPAGE、要求要title、text、url、thumbPath、等等很多分享类型、基本title和text是必须的
5、测试时、要打包、用在微信平台注册时的签名(keystore)去打包、打包要注意的是、如果你加了代码混淆、要把libs下面jar加到proguard-project.txt里面、如果发现打包之后分享的图标出不来的话、那就把以下代码也加到proguard-project.txt里面
-keep class android.net.http.SslError -keep class android.webkit.**{*;} -keep class cn.sharesdk.**{*;} -keep class com.sina.**{*;} -keep class m.framework.**{*;}
6、测试是否可以打开微信客户端、可以的话、说明代码基本没有问题、如果要多次测试微信分享、可以清除微信客户端的缓存、不然只能调用一次