微信分享闪退问题分析及解决

今天看了慕课网的微信朋友圈分享课程,自己动手做时却发现点击按钮总出现闪退,分享结果也返回true了,可就是闪退。看了评论发现好多同学都在问这个问题。大致的原因都在说签名不一致的问题。
多方百度,我最后终于发现了真相!终于将自己的一个demo成功分享了。

今天虽然很累,但趁着灵感还在,赶快记下吧!也希望对各位看官有所帮助。

首先,做微信分享要在微信开发者平台注册账号,申请自己的app_id。
这里写图片描述
这里按照要求填写即可。

接下来进入重点:
这里写图片描述
这里的应用签名必须是打包后的签名(md5值的小写,且去掉冒号)。
这里详细解释一下为什么大多数同学都会出现闪退情况。

我们在写完代码运行时,很自然的点击run as android application就自动安装到手机上了。殊不知这时手机上的安装包也是被签名的了,是被eclipse默认的签名文件debug.keystore签名的。见下图:

这里写图片描述

而我们大多数人在正式打包的时候都会用自己创建的keystore吧,像这样:

这里写图片描述

(感觉自己的独一无二,有成就感。也可能用默认的有安全风险吧,容易被盗版什么的吧,我猜的。)

那么问题来了,你直接运行到手机里的apk文件是用系统默认的C:\Users\xxx.android\debug.keystore签名的,它会有一个签名值。而你正式打包时,用的是自己创建的keystore,它也会有一个签名值。
那你在微信开发平台上填的签名是哪个呢?

当然应该填正式打包,准备发布的那个对应的签名值啦。

所以,问题就出在这里。只要知道自己打包时生成的签名就行啦!

那么怎么获取呢?

很easy!

方法一:在打包的时候,最后一个对话框eclipse已经给出了你当前应用的签名提示。把MD5值全部化成小写字母,再去掉冒号就是签名了。
见下图:

这里写图片描述

方法二:用微信开发平台给的签名查看工具,链接:https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk

下载后安装到手机,运行它。输入你要查看的应用的包名,点击get Signature,即可生成。
注意:你要查看的是正式打包(导出为apk的那种)后的签名,千万不要把手机当成模拟器连接电脑,直接运行到手机。

因为那样的话,查看的就是eclipse系统默认的用C:\Users\xxx.android\debug.keystore签名后的签名了。这是个重要迷惑点。
大多数人都是为了方便,直接运行到手机。所以才会出现那种问题。

啊。终于写完了,好累!该去吃饭了。希望对大家有所帮助,不要像我那样为这个问题各种百度而烦心不已。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子林Android

感谢老板,老板大气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值