在微信开放平台创建移动应用时上图大家都遇到过,这里的应用签名是什么呢?
这里介绍说可以通过签名生成工具在已安装当前应用的手机中获取,(待会获取测试一下)我们先搞明白它是什么,这里提到了该应用签名由开发者签名该应用的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