211

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

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

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

4

9 回答 9

534

可能您在名称、组织或其他地方的字段中输入了非法字符(类似于,(逗号))。

当然,如果你真的想要某些字符可以用 \ 符号转义

“+”(加号)符号也会导致此问题。(人们通常倾向于在国家代码字段中使用 + 号)

于 2012-08-04T15:16:47.807 回答
54

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

于 2012-08-05T06:18:50.400 回答
22

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

  • 逗号 (,)
  • 加号 (+)
  • 引号 (")
  • 反斜杠(“\”)
  • 尖括号(< 和 >)
  • 分号 (;)
于 2015-04-10T06:37:16.017 回答
9

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

+91India

于 2014-03-07T06:12:52.830 回答
7

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

此命令因 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"
于 2013-12-12T02:04:14.540 回答
5

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

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

在此专有名称参数中,“ CN ”(“Common Name”)是“ A属性”,“ SomeCertSubject ”是“”。

于 2019-06-08T16:11:10.273 回答
4

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

于 2014-05-06T09:49:33.060 回答
3

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

+77

这个对我有用。

于 2021-05-10T18:29:06.770 回答
2

当我们要在 Android Studio 中生成签名 APK 时,这是一个常见的错误。因此,在Keystore文件中,您不能使用任何特殊字符或符号,例如 ( , \ + - * / < > ; ' " ) 否则,您会得到 java.io.IoException。

查看演示,您如何填写您的密钥库文件:

密码:没有特殊字符或符号的任何内容

别名: Key0(由您决定)

有效期(年): 25(由您决定)

名字和姓氏:您的正确姓名,但不要在您的名字中使用特殊字符,例如 $unny @dam

组织单位:您的组织名称

组织:您的组织名称

城市或地区:您的城市名称

州或省:您的州或省名称

国家代码 (XX):使用您的国家代码,如果您不知道,请搜索 Google。

然后点击确定

于 2020-11-18T08:17:10.503 回答