微信sdk分享最后打包签名

转载 2015年11月19日 14:42:44

原文转自:http://blog.csdn.net/freesonhp/article/details/10756663

在此感谢原文作者:freesonhp

1、建立自己的应用 TestShareWX

(1)应用包名是com.freeson.test,然后建立一个测试Activity,名字为TestActivity,里面有一个Button和EditText

(2)运行程序,请记住此时你编译运行的时候,用的是android默认的debug.keystore签名的。


2、到官网http://open.weixin.qq.com/download/?lang=zh_CN下载开发工具包,解压,将libammsdk.jar复制到libs中,并将其add到build path中。


3、到官网http://open.weixin.qq.com/agreement登记你的应用,

      这里省去前面那些基本的操作 ,这里要注意以下的步骤。

     其中有一步是要用个签微信那名的apk工具对我们程序进行签名的,因为我们的程序已经安装了,所以直接下载安装,然后在手机里面的那个框框输入包名(我这里是com.freeson.test,包名不能填错哦),点击生成按钮,这时候会生成一个md5值,将其输入到登记页面的框中(此时我们注意,如果我们的应用程序还没有安装到手机中的话,签名工具会提示没有找到相关包说明的,这时候我们有意识到什么了吗?)

   再接下来输入包名(我这里是com.freeson.test,包名不能填错哦),然后提交审核。接下来就是等微信的MM进行审核了。


4、在步骤三中我们已经拿到了appid,按照sdk Demo里面的提供方法在我们的TestActivity测试,OK一切成功,是否有感觉成就感呢。


5、码农的日子还真TM难过啊,我加班码啊码啊,日子一天天过去,项目开发到最后了,经过测试,一切正常,用正式签名的文件对来正式打包。然后再测试。OH,my god,What Happened!!!,为什么刚刚还能分享微信的,现在点击居然没有反应了。顿时陷入惶恐中。。。。不要怕,我来告诉你为什么会这样。


6、其实在第一步的时候,就已经说了,我们在官网申请的AppId的时候填写应用程序签名也是就是用debug.keystore生成的。然而我们此时在手机里面运行的apk是用我们自己生成的签名(xxx.keystore)进行签名的,两个签名都不一致,所以很理所当然会导致分享失败。因为微信要对我们应用进行一个验证,就是通过这个签名来认证的。


7、别担心,还有补救的方法,用我们正式那个签名文件xxx.keystore对程序进行正式的打包,然后安装到手机中,然后再次运行微信那个签名apk工具,讲我们的包名输入到里面,重新生成一个MD5的签名,然后到官网http://open.weixin.qq.com/agreement,找到你之前等级那个应用,拉到最后,点击修改,将刚刚生成的那个签名输入到里面,然后保存重新提交审核。


8、做完上面的事情之后,所要做的就是等刚刚重新提交的修改通过审核,要不然你的微信就不能分享成功。


9、某一天,登记的那个应用通过审核了,运行我们打包的程序,点击微信,oh ,yes。发现能分享了,终于可以喘一口气了。


备注:

在弄分享过程中,本文作者也遇到了很多问题,在这里和大家说说,让大家以后稍微注意。

1、还是签名问题,一个项目,几个人完成的话,如果大家都是用各自默认的debug.keystore进行运行的话,在debug版本,微信分享功能肯定只有在申请的微信appid的那台机器生产的apk才能正常。

2、关于微信分享信息结果反馈,这个要注意的是以下两点,要不要肯定是不会收到分享反馈的。

     (1)这个Activity的名字一定是WXEntryActivity

     (2)WXEntryActivity这个类一定是建立在 应用包名+wxapi包下(比如上述的工程,这时候包名应该是com.freeson.test.wxapi)


其中第六 第七很重要

写到这里,终于到结束了,本文作者也是折腾了蛮久才明白微信的认证原理的。一句话,理解签名很重要。



相关文章推荐

查看Android应用签名信息

本文档介绍在Android下如何查看自己的应用签名及三方APK或系统APK签名信息,包含其中的MD5、SHA1、SHA256值和签名算法等信息。 1、查看自己的应用签名 可以通过两种方式查...

微信平台开发应用的签名

目标: 已经在微信官网申请了账号了,想要在上面开发应用,必须首先对应用进行审核。在审核之前,需要填写应用的相关信息,包括名称、图标、用途说明、签名等。 下面介绍如何获取程序的签名。 解决...
  • yahohi
  • yahohi
  • 2013-05-31 16:56
  • 57456

记录微信分享的应用签名的坑

当时app需要继承qq和微信的分享,我利用keytool工具获取到了应用的sha1值,就将资料提交给了总监了(总监负责申请需要的appkey),测试时发现qq分享能调起,但微信分享不行。之后就各种资料...

微信开放平台中android 应用签名的获取

应用签名:下载微信提供的签名工具,输入你的应用包名并生成一串忘了是几位的签名,需要注意安装签名工具的手机也必须安装要生成的包名的App。 地址:https://open.weixin.qq.com/c...

微信签名工具 Gen_Signature_Android221cbf.apk 下载

百度键入”微信开放平台”或直接访问网址https://open.weixin.qq.com/按照下图找到签名工具即可 以上:签名工具申请完成 下面是给我小白自己看的: 已经在微信官网申请了账号了...

java 微信分享签名生成方法

public static String getSign(String noncestrs, String jsapi_tickets, String timestamps, String urls)...

微信JS SDK使用权限签名算法 jsapi_ticket

生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_toke...
  • Truong
  • Truong
  • 2015-08-01 21:42
  • 33354

微信JSSDK之签名生成

最近做一个小游戏,需要使用微信分享,经查询,无法直接在网页中直接添加分享按钮进行添加,需调用微信接口定制微信的分享按钮,具体步骤详见微信JSSDK开发文档,通过查找资料,实践如下: 1.在微信公众平...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)