我正在尝试对我的Android应用进行签名,以便在市场上发布。当我生成密钥库时,出现了拒绝访问错误。我该怎么办?
以下是我一直在尝试的:
- 在Eclipse Helios中右键单击项目。
- 选择Android Tools > Export Signed Application Package。
- 点击下一步。
- 我勾选了“创建新的密钥库”,但发现它对我没有帮助。它仍然要求我输入密钥库的位置。所以我决定用较困难的方式。
- 关闭
C:\Program Files\Java\jdk1.6.0_25\bin
文件夹的只读权限,并将CREATOR OWNER
组授予该文件夹的完全控制权限。 - 在Windows 7 64位上打开命令行。
- 进入到
C:\Program Files\Java\jdk1.6.0_25\bin
目录。 - 运行 keytool。
- 收到了一个访问被拒绝的错误。
.
C:\Program Files\Java\jdk1.6.0_25\bin>keytool -genkey -v -alias company -keyalg R
SA -keysize 2048 -validity 10000 -keystore company.keystore
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: John Smith
What is the name of your organizational unit?
[Unknown]: Android
What is the name of your organization?
[Unknown]: Company
What is the name of your City or Locality?
[Unknown]: Albany
What is the name of your State or Province?
[Unknown]: NY
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=John Smith, OU=Android, O=Company, L=Albany, ST=NY, C=US correct?
[no]: yes
Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) with
a validity of 10,000 days
for: CN=John Smith, OU=Android, O=Company, L=Albany, ST=NY, C=US
Enter key password for <veetle>
(RETURN if same as keystore password):
Re-enter new password:
[Storing company.keystore]
keytool error: java.io.FileNotFoundException: veetle.keystore (Access is denied)
java.io.FileNotFoundException: veetle.keystore (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:84)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:902)
at sun.security.tools.KeyTool.run(KeyTool.java:172)
at sun.security.tools.KeyTool.main(KeyTool.java:166)
编辑:
每次我检查文件夹权限时,都会发现它已经恢复为只读。无论何时我关闭只读状态时都没有出现错误。