重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个Android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重新生存一个key。
在cmd下,进入C:\Users\Administrator\.android目录执行命令如下:
就成功了
以下是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。