- A+
1.把java目录下的keytool拷贝到证书目录下;
2.进入证书目录,然后输入命令keytool -list -v -keystore file.jks -storepass password,发现证书的别名是“1”;其中file.jks是证书名字,password要用密钥来代替。
配置tomcat的https之后启动报出来空指针错误,百度到的原因是tomcat代码中要求有别名,如果没有配置,默认使用“tomcat”作为别名。显然,我们的证书别名不会是tomcat。,所以使用上面的命令获取别名,通过参数KeyAlias="1"配置到serve.xml中
完成了keystore文件的生成,但是,这只是android项目导出的第一步。因为很可能我们前面只是关注了keystore文件的生成与否,没有太多留意keystore的一些参数,而在导出为apk时就需要用到一些比较关键的参数,如果用错,则会出现想下面类似的错误(别名用错),最终导致项目导出失败。
Error:Execution failed for task ':app:packageRelease'.
> Failed to read key mine from store "D:\Studying\Android\projects\MyApplication\android.keystore": Keystore was tampered with, or password was incorrect
所以,我们需要记住需要使用的keystore的一些常用参数,但之前我们只是去设法成功生成keystore文件,那么这些参数在哪可以看到或者修改成为我们容易记住的参数呢?下面简单说明一下相关的命令调用
查看keystore参数信息(以android.keystore文件为例)
在命令窗口中输入命令:keytool -list -v -keystore android.keystore
(根据上一篇讲的,此时我已经将签名证书复制到了当前项目文件下,所以命令路径即为临时文件android.keystore的路径)
修改keystore的密码,别名等
1:修改密码的命令:keytool -storepasswd -keystore android.keystore
其中,my.keystore是复制出来的签名证书文件,命令执行后会提示证书的当前密码和新密码及其确认。
2:修改别名alias的命令:keytool -changealias -keystore android.keystore -alias my_name -destalias androiddebugkey
这里,my_name是证书中当前的alias,-destalias指定的是要修改为的alias,例如我将别名改为如下:
3:修改alias密码的命令:keytool -keypasswd -keystore my.keystore -alias androiddebugkey
这一步执行后会提示输入keystore密码,alias密码,然后提示输入新的alias密码。
这三个指令时独立的,没有依赖关系,所以可以根据自己的需求来更改参数