shared SDK 微信开放平台遇到的问题
shared sdk是用于集成到app中,方便快速社交化分享的组件,其使用方法比较简单,参考官网的快速集成步骤就能搞定。稍微麻烦一点的就是需要到各个开放平台去注册你的APP。
在各个开放平台注册好之后得到对应的app ID填入到sharesdk的配置xml文件当中即可。
这里稍微麻烦一点的就是微信,是需要用自己的keystore中间的key对应用签名,然后再在开放平台上填写这个signature才能调试(网上都这么说,但是我用Android Studio的debug key签名的也能分享到朋友圈,但是发送朋友和收藏还是有问题)
下面来讲一下过程中遇到的一些坑:
1.应用的包名
以往用eclipse构建app,包名就是在AndroidManifest.xml中package定义的。我一开始就看这里去识别的包名,然后用鹅厂提供的signature生成工具,输入manifest中的包名,居然找不到。然后用adb shell去看当前包名,尼玛还真不是manifest中定义的。后来就跑到build.gradle中去看,发现有个applicationID是实际运行的包名,原来AS的机制是gradle中定义的id作为优先使用的包名,如果没有这个applicationID才去使用mainifest的packagename作为包名。
2.share sdk中分享图片的路径
这个算是个案,也记录一下。快速集成中用的路径是/sdcard/test.jpg,然后我就傻乎乎的拷了一个图片到sdcard上(实体sd卡)。但是用adb shell查看根目录,外置sdcard的路径是sdcard2.怪不得微信一直提示获取资源失败。
遇到的两个坑说完之后,就说说微信开放平台中签名的问题吧。
自己先为自己的应用构建keystore,keystore顾名思义就是key的store,有很多key在里面,我们签名就是选择其中一条来签meta-inf中的东西
微信要求的就是我们需要在网页上填一个跟我们这个key相关的信息。
获取手段有两个:
1.用微信提供的app来生成这个signature,就是先安装好我们的已签名的app,然后进入腾讯的签名工具输入包名,然后就得到一串字符,把这个字符填网页上就ok
2.用eclipse签名应用,最后会有提示一个md5码,这个应该跟第一种方法的结果是一致的,就是eclipse显示时两个数字之间加了个冒号,建议去掉,毕竟官方的app生成的签名是不带冒号的
差不多就这些了