十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在微信开放平台申请app应用的时候,遇到要填写 应用签名 一栏。
成都创新互联是专业的沧州网站建设公司,沧州接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行沧州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
找到签名文件
keytool -list -v -keystore xxx.keystore
证书指纹节点下的MD5值转成小写,去掉冒号。
首先跟随 生成keystore和应用签名 ,生成 .jks 签名文件,
然后跟随 微信开放平台Android应用签名的本质及如何获取 的第三、四步,生成带签名的apk,并用专门的工具查看应用签名。
最后用工具查看到应用签名后,我们发现,其实它就是keystore文件的MD5值。
这样,我们就能够 查看应用签名了
如果你在 修改签名 后,进入微信授权页面失败,且提示"应用签名与微信开放平台上的签名不一致",有可能是 微信缓存 的缘故。
根据 android之微信开放平台修改签名 ,只要清理微信缓存,或重装微信即可。
接下来还有一个问题没解决:
解决方法参考 Android Studio直接运行调试签名包
但这样的做法会显示暴露keystore信息,所以跟随 Android Studio的两种模式及签名配置 的后半部分,可以让项目间接引入keystore信息。
Android APP的签名
Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用。为了避免Android APP被随意覆盖,Android要求对APP进行签名。下面介绍对APP进行签名的步骤
1、选择builder菜单下的Generate Signed APK
2、弹出签名向导对话框
3、在该对话框中选择数字证书,如果没有数字证书,可以点击Create new按钮,创建数字证书如下图所示:
4、输入证书的存储路径及文件名称,密码,有效年份,发布人员的姓名,单位,所在城市,省份,国家等信息,后点击OK按钮,如下图所示,系统会自动带入密码
5、点击Next选择签名后的安装包存放路径,构建类型,点击finish完成安装包的构建
注意:
v2是Android 7.0中引入了签名版本,v1是jar Signature来自JDK,只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式,只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证,为了保证兼容性,可以同时勾选V1和V2。
在Debug调试版本中,默认会调用调试用的签名证书debug.keystore,该证书默认存放在C:\Users你的用户名.android下。
包名和签名都相同的APP才可以覆盖安装
打开 Android Studio,然后选择右边的 Gradle 标签,选择一个项目,然后选择 signingReport 这个 Task,双击运行
然后选择右下角的 Gradle Console,就可以看到签名信息了
使用解压工具解压 APK 文件,在 META-INF 文件夹拿到 CERT.RSA 文件。假设 CERT.RSA 文件的路径是 C:\Users\Administrator\Desktop\CERT.RSA 。在 CMD 中输入
就可以得到签名信息了
jks 作为签名文件,也可以通过命令行来查看的其中的签名信息,假设签名文件的名称是 test_release.jks ,在终端中输入
即可得到签名信息
查看应用签名的MD5、SHA1、SHA256值及签名算法。
查看keystore文件签名信息,前提要有keystore文件和密钥,才能够获取keystore文件的签名信息。
方法一:(适用于 AS)
1)打开 AS工具窗口栏右边的 Gradle - Project - app - Tasks - android - signingReport,双击运行 signingReport;
在没有keystore文件和密钥的情况下,要想查看我们所需应用的签名信息,就需要借助 keytool 工具来完成。
首先解压要查看的apk包,通过数据证书管理工具 keytool 查看apk的签名信息。具体步骤如下:
1)将apk修改后缀为 .rar 文件后进行解压;
2)进入解压后的 META-INF 目录,找到该目录下的 xxx.RSA 文件;
3)通过命令 cmd 打开DOS窗口,输入命令 : keytool -printcert -file [RSA文件路径]
在查看应用签名信息过程中,可能会遇到以下几个问题:
定位 keytool.exe 工具所在的目录,使用相关操作命令查看签名信息;
JKS(Java KeyStore) :是 Java 的 keytools 证书工具支持的证书私钥格式。jks 包含了公钥和私钥,可以通过 keytool 工具来将公钥和私钥导出。因为包含了私钥,所以 jks 文件通常通过一个密码来加以保护。一般用于 Java 或者 Tomcat 服务器。
PKCS #12 :定义了一种存档文件格式,用于实现存储许多加密对象在一个单独的文件中。通常用它来打包一个私钥及有关的 X.509 证书,或者打包信任链的全部项目。
定位 keytool.exe 工具所在的目录,使用操作命令转换证书格式;