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

pal*_*avi 163 android android-keystore

我是Android开发的新手; 当我一直试图签署该应用程序时,我遇到了以下错误.任何人都可以帮我解决这个问题吗?

keytool error :java.io.IoException:Incorrect AVA format
Run Code Online (Sandbox Code Playgroud)

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

rul*_*ule 450

可能你在Name,Organization或其他地方的字段中输入了非法字符(例如,(逗号)).

当然,如果你真的想要一些charachter可以用\符号逃脱

  • 这应该是公认的答案 (32认同)
  • 仅供参考,如果你真的想在一个字段中使用逗号,你可以使用前导反斜杠来逃避它,例如Acme \,Inc.请参阅http://docs.oracle.com/javase/6/docs/technotes/tools/solaris /keytool.html.这也适用于Eclipse IDE的签名对话框. (21认同)
  • 哇,我本可以花几天时间试图解决这个问题,这是我组织名称中的一个逗号(我用过"......,LLC").万分感谢. (3认同)

Rat*_*der 44

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


sur*_*tya 19

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

  • 逗号(,)
  • 加号(+)
  • 引号(")
  • 反斜杠("\")
  • 有角度的括号(<和>)
  • 分号(;)


Pat*_*ick 5

当我没有设置专有名称选项时,我遇到了这个错误.通过将选项设置为有效格式化的字符串可以解决此问题.

此命令因AVA格式异常而失败:(为了易读性添加了换行符)

C:\Program Files\Java\jdk1.6.0_45\jre\bin>keytool 
-genkey -v -dname PatrickTaylor -validity 10000 
-keystore C:\drops\patrickkeystore 
Run Code Online (Sandbox Code Playgroud)

此命令成功完成:

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"
Run Code Online (Sandbox Code Playgroud)


Luf*_*ffy 5

我通过更改国家/地区代码解决了这些异常:

+91India


gal*_*xis 5

特殊字符/转义所有好的答案/可能是问题所在;你没有分享你的实际“keytool”命令行,所以很难给出准确的答案。如果您正在尝试生成 pub/priv 密钥对(“-genkeypair”参数),那么 1 个问题是证书主题专有名称(“ -dname ”arg)未在正确的 X.500 AVA 中指定( “ttribute / V ALUE”ssertion)格式。例如,省略主题通用名 (CN) 前的“CN=”。参数应该是这样的:

keytool ... -dname="CN=SomeCertSubject" ...
Run Code Online (Sandbox Code Playgroud)

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


小智 5

+我在国家/地区代码前面输入了错误。所以改变了如下的值。

+77

这个对我有用。