我是Android开发的新手。当我尝试对应用程序进行签名时,出现以下错误。谁能帮我解决这个问题?
keytool error :java.io.IoException:Incorrect AVA format
我在论坛上找到了一些解决方案,例如,我需要运行,debug.keystore
但没有成功。
我是Android开发的新手。当我尝试对应用程序进行签名时,出现以下错误。谁能帮我解决这个问题?
keytool error :java.io.IoException:Incorrect AVA format
我在论坛上找到了一些解决方案,例如,我需要运行,debug.keystore
但没有成功。
Answers:
您可能在“名称”,“组织”或其他位置的字段中输入了非法字符(例如,(逗号))。
当然,如果您真的希望可以用\符号转义一些字符,
尝试使用Eclipse ADT导出已签名的.apk文件时遇到错误。该错误与您的错误相同。就我而言,我在国家代码之前使用了+号。通过从该名称中删除+号,可以解决此问题,并允许我完全导出已签名的.apk文件。此外,使用逗号,斜杠,分号和引号时,可能会发生此错误。
您在导出apk时尝试使用特殊字符。创建apk时,不能在显示的任何字段中使用这些特殊字符。特殊字符集包括:
当我根本没有设置专有名称选项时,我遇到了此错误。通过将选项设置为有效格式的字符串,此问题已得到纠正。
该命令因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"
特殊字符/转义所有好的答案/可能是问题所在;您没有共享实际的“ keytool”命令行,因此很难给出准确的答案。如果您尝试生成一个发布/私有密钥对(“ -genkeypair”参数),那么一个问题将是未在正确的X.500 AVA中指定证书使用者的专有名称(“ -dname ” arg) (“ A ttribute - Value- A ssertion”)格式。例如,在主题公用名(CN)前面省略“ CN =“。参数应该看起来像这样:
keytool ... -dname="CN=SomeCertSubject" ...
在这一专有名称PARAM,“ CN ”(“通用名称”)是“ 一个 ttribute”,“ SomeCertSubject ”是“ V ALUE”。