keytool错误:java.io.IoException:不正确的AVA格式


178

我是Android开发的新手。当我尝试对应用程序进行签名时,出现以下错误。谁能帮我解决这个问题?

keytool error :java.io.IoException:Incorrect AVA format

我在论坛上找到了一些解决方案,例如,我需要运行,debug.keystore但没有成功。


请参阅此链接, groups.google.com / forum
fromgroups

Answers:


475

您可能在“名称”,“组织”或其他位置的字段中输入了非法字符(例如,(逗号))。

当然,如果您真的希望可以用\符号转义一些字符,


21
仅供参考,如果您真的想在字段中使用逗号,则可以使用反斜杠将其转义,例如Acme \,Inc。请参阅docs.oracle.com/javase/6/docs/technotes/tools/solaris/…。这也可以在Eclipse IDE的签名对话框中使用。
Yojimbo

1
对我来说,这是“组织”字段中的+号。前面加了一个反斜杠就可以了,谢谢Yojibmo!
乍得·舒尔茨

4
哇,我可能花了几天的时间才想出答案,而这是以我组织的名义出现的逗号(我用“ ...,LLC”)。万分感谢。
akousmata 2013年

+1这应该是公认的答案。另外,当用户输入(逗号)(,)或特殊字符时,导出向导应告知用户或指向该特定文本框,不允许其进行此操作,请进行检查。
Zubair Ahmed

1
我的问题是国家/地区代码。我输入“ +1”,显然+引发了异常。
多纳托

50

尝试使用Eclipse ADT导出已签名的.apk文件时遇到错误。该错误与您的错误相同。就我而言,我在国家代码之前使用了+号。通过从该名称中删除+号,可以解决此问题,并允许我完全导出已签名的.apk文件。此外,使用逗号,斜杠,分号和引号时,可能会发生此错误。


谢谢。我也用'+'号。)
DmitryKanunnikoff 2015年

谢谢。这解决了我在国家代码中使用+的问题
Khizar Hayat 16/12/28

20

您在导出apk时尝试使用特殊字符。创建apk时,不能在显示的任何字段中使用这些特殊字符。特殊字符集包括:

  • 逗号(,)
  • 加号(+)
  • 引号(“)
  • 反斜线(“ \”)
  • 尖括号(<和>)
  • 分号(;)


6

当我根本没有设置专有名称选项时,我遇到了此错误。通过将选项设置为有效格式的字符串,此问题已得到纠正。

该命令因AVA格式异常而失败:(添加了换行符以提高可读性)

C:\Program Files\Java\jdk1.6.0_45\jre\bin>keytool 
-genkey -v -dname PatrickTaylor -validity 10000 
-keystore C:\drops\patrickkeystore 

该命令成功完成:

C:\Program Files\Java\jdk1.6.0_45\jre\bin>keytool 
-genkey -v -dname PatrickTaylor -validity 10000 
-keystore C:\drops\patrickkeystore 
-dname "cn=Patrick Taylor, ou=engineering, o=company, c=US"

4

这个“可能您在名称,组织或其他地方的字段中输入了非法字符(例如,(逗号)。”)对我有用。我在州或省上有一个逗号。请按规则将此答案标记为答案;因为+91中的+是特殊字符。


对我来说,该错误是由公司名称和llc之间的逗号引起的。(谢谢金斯利的座便孔)。
tmr

1

特殊字符/转义所有好的答案/可能是问题所在;您没有共享实际的“ keytool”命令行,因此很难给出准确的答案。如果您尝试生成一个发布/私有密钥对(“ -genkeypair”参数),那么一个问题将是未在正确的X.500 AVA中指定证书使用者的专有名称(“ -dname ” arg) (“ A ttribute - Value- A ssertion”)格式。例如,在主题公用名(CN)前面省略“ CN =“。参数应该看起来像这样:

keytool ... -dname="CN=SomeCertSubject" ...

在这一专有名称PARAM,“ CN ”(“通用名称”)是“ 一个 ttribute”,“ SomeCertSubject ”是“ V ALUE”。


0

谷歌不能说“无效字符”。而是说“ Incorret AVA格式”,删除所有非字母数字字符,无重音和怪异字母。


请给出正确的答案!
阿曼纽尔·涅加
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.