通过友盟sdk集成微博、微信、qq等分享功能时,微博和qq很顺利,但在做微信集成时一直不成功。主要问题还是之前在微信开放平台申请创建移动应用时,对应用签名没有填写对,走了很多弯路现总结出来,加深记忆避免后继弯路。在这里微信开放平台的注册、移动应用的创建就不做说明了,需要注意的是提交申请后腾讯需要一周左右的时间进行审核,所以有着急上线的同学做好时间管理。
在说具体的签名生成之前,我们先看看为啥需要签名。
一、签名的理解
签名是Android系统要求的,签名对于每个应用相当于应用的标识,用签名来和开发者(或者发布应用的企业)建立联系。比如我们在生成签名时需要填写创建者、企业、所在的城市、国家等信息。一个App开发完成后如果没有签名,是不能在Android系统中发布运行的。在开发过程中如果我们不生成自己的签名Android studio会自动创建它,生成签名的秘钥默认在我们系统中的/Documents and Settings/用户名/.android/debug.keystore中。
二、生成签名的apk应用
1、创建.keystore文件
a、通过keytool生成,keytool是jdk自带的工具通过命令行进行创建
其中alias 是别名,validity是有效期,debugmy为文件名称
b、通过Android studio界面在创建签名apk时生成
2、生成签名的apk
可以通过Android studio 提供的界面功能生成,也可以通过keytool、jarsigner、zipalign(签名后apk的优化,不是必须)
通过Android studio的入口如下,过程不复杂,这里就不做赘述了。
三、在开发过程中使用自定义的keystore文件
在build.gradle文件中添加如下代码,其中storeFile 为keystore的文件位置,本例子是直接放在app目录下的,可以根据情况指定具体目录。其它三个参数都是在生成keystore时输入的信息。
signingConfigs {
debug {
storeFile file('debugmy.keystore')
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
四、在手机或者模拟器中查看应用签名
在查看之前需要生成签名的apk并安装应用后,通过查看签名工具获得应用签名。签名工具可以去微信或者微博开放平台下载,需要输入包名,包名要和AndroidManifest.xml文件中的package相同。,界面如下
五、在微信开放平台上填写或者修改生成的签名
六、问题总结
博主是按照上述步骤一步步生成keystore文件、配置build.gradle文件、下载应用签名查看工具并在开放平台配置应用签名,但是最后调试阶段一直不成功,在反复确认appid、secret、应用签名都无误的情况也是不成功。后来在网上查了很多资料,也没有发现问题。最后怀疑是不是腾讯新的签名生效有时效?带着疑问去睡觉了,一觉醒来后打开手机通过微信分享居然成功。时效问题?也许吧,反正是成功了。

Android集成微信分享功能应用签名生成方法及分享不生效的问题的更多相关文章

  1. php微信支付v3版本签名生成

    前几天需要对接微信支付卡包营销活动需要对接微信新版SDKv3版 签名生成规则,微信的官方文档里面说明的还算可以吧,不过个人觉得不太理想- -.  自己调试的时候调试了半天才找了错误原因. https: ...

  2. 微信jssdk分享功能,jssdk成功调用,分享内容自定义失败

    前提:调用微信jssdk分享功能,通过微信开发者工具调试,调用正常,无任何报错信息. 问题:调用成功,且开发者工具正常显示,但是通过真机调试,分享出去后,自定义内容失效,为微信自动获取的默认内容!截止 ...

  3. 利用WxJava实现网站集成微信登录功能,核心代码竟然不超过10行

    最近网站PC端集成微信扫码登录,踩了不少坑,在此记录下实现过程和注意事项. 本文目录 一.微信开放平台操作步骤1.创建“网站应用”2.获取AppID和AppSecret二.开发指南三.开发实战1.po ...

  4. 利用WxJava实现PC网站集成微信登录功能

    原文地址:https://mp.weixin.qq.com/s/rT0xL9uAdHdZck_F8nyncg 来源:微信公众号:java碎碎念 1. 微信开放平台操作步骤 微信开放平台地址:https ...

  5. 如何在ios中集成微信登录功能

    在ios中集成微信的登录功能有两种方法 1 用微信原生的api来做,这样做的好处就是轻量级,程序负重小,在Build Settings 中这样设置 然后设置 友盟的设置同上,但是要注意,加入你需要的所 ...

  6. Android系统自带分享功能的实现(可同时分享文字和图片)

     /** * 分享功能 * * @param context * 上下文 * @param activityTitle * Activity的名字 * @param msgTitle * 消息标题 ...

  7. Android开发之发送邮件功能的实现(源码分享)

    Android开发中可能会碰到怎样发送邮件的困扰,之前我也查了相关的文档,博友们也分享了不少的发送邮件的办法.总共同拥有3种把,我细致阅读了下,发现有的讲的太过复杂跟麻烦,不够清晰.我今天就来分享下我 ...

  8. 第三方APP集成微信登陆功能详解

    授权后接口调用(UnionID) 通过code获取access_token 接口说明 通过code获取access_token的接口. 请求说明 http请求方式: GET https://api.w ...

  9. Android通过微信实现第三方登录并使用OKHttp获得Token及源码下载

    这里对于App在微信开放平台上申请AppID和secret在这里就略过了,我们微信的授权登录流程,腾讯官网给的流程如下: 1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用 ...

随机推荐

  1. ArcGIS for Android入门程序之DrawTool2.0

    来自:http://blog.csdn.net/arcgis_mobile/article/details/8084763 GISpace博客<ArcGIS for Android入门程序之Dr ...

  2. 第三课 MongoDB 数据更新

    1.课程大纲 本课程主要解说 MongoDB 数据更新的相关内容.包含文档插入 insert 函数.文档删除 remove函数以及文档更新update函数的基本使用.除此之外.还会介绍 MongoDB ...

  3. C#.NET如何判断是否有缺少的using

    调试的时候会报错,红色的波浪线表示出错的位置,右击即可找到对应的using      

  4. Wordpress 建站(一)

    去年在美国的justhost上买了两个域名(shanyexuanyu.com  和 chenjinyu.net.shanyexuanyu.com是给一位马来西亚的佛教徒朋友做的站点. 她镜头下佛教的文 ...

  5. JavaScript变量提升演示样例

    直接先看两段代码 function getSum() { var sum = a + b; var a = 1; var b = 2; return sum; } getSum(); function ...

  6. 音乐播放器之myeclipse项目

    音乐播放器: 这个音乐播放器是用myeclipse打开的项目.假设有问题记得改掉文件的路径名.还有假设图片不显示也可能是图片的路径名不正确,如音乐无法播放也可能是路径名不正确.总之这个游戏有文件的引用 ...

  7. java8-接口变化-默认方法-静态方法

    Java 8中允许接口中包含具有具体实现的方法,该方法称为 “默认方法”,默认方法使用 default 关键字修饰. default String getName(){ return "哈哈 ...

  8. iOS中打包.a静态库

    1.新建.a静态库工程 需要选择Static Library静态库工程模板新建工程,如下图: 新建静态库工程 实现需要打包的类,如下图: 实现需要打包的类 2.设置需要暴露的头文件 添加Headers ...

  9. C++中虚析构函数的作用 (转载)

    转自:http://blog.csdn.net/starlee/article/details/619827 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数.可是,为什么要这样做 ...

  10. oracle创建默认表空间---重要

    当oracle创建数据库后,sys创建用户时还要有默认表空间.不创建默认表空间在导如项目时会有些数据表导入不成功! 由于时间仓促以截屏为例  之后会在刚刚那个空文件生成一个文件 ----------- ...