作者微信 bishe2022

代码功能演示视频在页面下方,请先观看;如需定制开发,联系页面右侧客服
微信开放平台Android应用签名的本质及如何获取

Custom Tab


在微信开放平台创建移动应用时上图大家都遇到过,这里的应用签名是什么呢?

这里介绍说可以通过签名生成工具在已安装当前应用的手机中获取,(待会获取测试一下)我们先搞明白它是什么,这里提到了该应用签名由开发者签名该应用的keystore文件决定。

接下来我们便来探究一下这个应用签名是什么

思路:

1.创建一个keystore文件

2.创建一个Android应用

3.使用keystore文件签名该应用得到签名apk

4.使用签名生成工具查看该应用的签名

我们下面开始一步步执行

1.生成keystore文件

在自己电脑jdk的安装目录bin文件夹内打开dos命令行(cmd命令打开cd到bin目录也可以),输入如下命令:


keytool -genkey -alias qj_test -keyalg RSA -validity 10000 -keystore qj_test.keystore

具体操作如下图:


这时我们发现在我们的bin文件夹内多了一个qj_test.keystore文件,它就是我们生成的keystore文件


接下来我们在命令行输入如下命令:


keytool -list -v -keystore qj_test.keystore

输入密钥库口令:123456之后得到详细的keystore输出信息如下:


这里大家明显看到我把MD5值给框起来了,跟它有关系吗?想知道答案继续往下看吧…

2.创建一个简单的android项目

项目的包名为:com.qj.keystoretest ,包名符合规范可以随便命名,因为后面会用到,故在此处标出(如何创建项目略)

3.使用keystore文件签名该应用得到签名apk

我们的android应用已经创建好了,现在如何使用我们的keystore文件签名我们的应用呢






app-release.apk便是我们使用自己生成的keystore文件签名生成的apk文件

先把该apk装到手机中,就剩最后一步啦!

4.使用签名生成工具查看该应用的签名

签名生成工具下载(微信开发平台)

签名生成工具下载(新浪微博开放平台)

任意下载一个(是一个apk文件)安装手机后运行:



很显然两个工具生成的签名是相同的,因为签名是由我们的keystore文件决定的,从新浪签名获取工具的名字其实也不难发现,签名应该和MD5有关

签名生成工具生成的签名:add1944573e750774d84c04148c720a0

keystore文件中的MD5值:AD:D1:94:45:73:E7:50:77:4D:84:C0:41:48:C7:20:A0

对比发现:MD5值去掉两两之间的 " : " ,并将大写改为小写之后,奇迹出现了! 你会发现它和签名生成工具生成的签名一模一样。

总结:微信开放平台Android应用签名的本质便是我们签名文件keystore的MD5值



实战操作:   android分享内容到朋友和朋友圈


相关知识点:

我们创建自己的keystore,利用keystore生成签名apk文中已经介绍了,如果想要在每次运行调试应用的时候也用该keystore文件生成apk,

请参考:Android studio 如何指定使用自己生成的keystore调试






转载自:http://blog.csdn.net/github_2011/article/details/60966976

Home