Android项目丢失了debug.keystore,直接重新生存一个key。
在cmd下,进入C:\Users\Administrator\.android目录执行命令如下:
![](https://img2020.cnblogs.com/blog/2032145/202006/2032145-20200610164608446-1468820339.png)
输入是
以下是keytool的选项以供参考:
Keytool选项 |
描述 |
-genkey |
生成一个键对(公钥和密钥) |
-v |
日志输出 |
-keystore <keystore-name>.keystore |
命名包含密钥的keystore |
-storepass <password> |
设定keystore的密码。 基于安全考虑,不要在命令行中包含这一选项,除非你在一个安全的计算机上。如果你不提供,Keytool会提示你输入。这样,你的密码就不会储存在shell记录中了。 |
-alias <alias_name> |
设定key的别名 |
-keyalg <alg> |
指定生成key时使用的加密算法。支持DSA和RSA。 |
-dname <name> |
指定一个描述谁创建key的名字。该值将填入证书发行人的字段。 注意:你不需要在命令行中指明这些选项。如果不提供,Jarsigner会提示你输入每个字段(CN,OU等)。 |
-validity <valdays> |
Key的有效期,天数。 注意:推荐使用10000或更大的数。 |
-keypass <password> |
Key的密码。 基于安全考虑,不要在命令行中包含这一选项,除非你在一个安全的计算机上。如果你不提供,Keytool会提示你输入。这样,你的密码就不会储存在shell记录中了。 |
下面是使用Keytool命令生成密钥的例子:
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000
运行上面的例子命令,Keytool会提示你输入keystore和key的密码,并且会提示你输入key中其它的字段。然后,它会生成一个叫做my-release-key.keystore的文件。keystore和key受你输入的密码保护。keystore中包含一个key,有效期为10000天。别名将在后面用到,在程序签名时指当前这个keystore。
了解更多关于Keytool的信息,请参考http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security。