1.生成签名
首先,选择:Build->Generate Signed APK
弹出如下的弹窗:
点击Create New 按钮,出现下面的对话框:
其中Alias为别名,对于下面“Certificate”的那几行,我们至少需要填一个,上面的都要填写清楚,重要的是要记清楚第二行输入的密码,之后需要用到。之后一路点击“OK”即可,这时候就会生成发布版的apk了:
上面的步骤只是生成了签名证书,我们还要用该证书对应用进行签名。
接下来我们需要在Moudle的build.gradle文件中添加下面的信息(将其中的内容替换为我们刚才填写的内容)signingConfigs { config { keyAlias 'friendsshare'
keyPassword '123456789'
storeFile file('E:/myfriendsshare.jks')
storePassword '123456789'
}
}
上面代码的目的是:使用这里填写的别名(keyAlias)和密码,与签名证书里面的信息进行比对,如果成功,则表示我们是该证书的所有者,有权限使用其进行签名,这点是在进行签名的时候进行比对的。
我们可以在下图选择我们点击 “Run” 按钮时去 build 的类型,是“debug” 还是 “release”
如果我们没有配置 “release”的话,在选择构建类型里选择 “release” 的时候会报如下错误(没配置的情况下选择“debug”不会报错,因为AS默认为我们创建了一个debug的签名,注意:更改过配置的话,最好重新 build 下项目,否则有时候会报错。):
在上面配置里面任何一项都不能出错。如果出错,对应的 build 类型就无法通过。如果keyAlias错误的话,会报下面的错误:
如果其他两个密码有错误的话,会报如下错误:
当然,这里我们完全可以不用自己手动输入,可以采用下面的方法直接填写即可自动生成:
在项目上直接右键,选择Open Moudle Settings,点击红色框内的添加,填写刚才的信息,点击“OK”即可:
2.查询签名
在Android Studio下,我们可以在命令行中通过输入命令来查询我们的应用签名信息:
查询命令为:keytool -list -v -keystore "E:\myfriendsshare.jks"
其中"E:\myfriendsshare.jks"为我们刚才保存的签名相关文件的位置,在这里你直接替换成自己的文件位置即可。之后它会让你输入密码(注意,密码不会显示出来,输入之后点击回车就好)
查询结果如下:
其中SHA1的值即为应用的签名
如果出现android Studio keytool' 不是内部或外部命令,也不是可运行的程序 或批处理文件
①找到安装Java的路径比如我的是
②打开运行先转到你的keytool文件夹路径下,然后回车。再运行它(输入keytool.exe 快捷键是Tab建和Linux一样),然后在后边输入命令 -list -keystore 输上后后边跟的就是你的debug.keystore文件的对象路径。然后提示输入密库口令 输入android ,好再回车就看见你的Sha1了。