我是 Android 开发新手;当我尝试签署应用程序时,出现以下错误。谁能帮我解决这个问题?
keytool error :java.io.IoException:Incorrect AVA format
我在论坛上找到了一些解决方案,例如我需要运行debug.keystore
但我没有成功。
我是 Android 开发新手;当我尝试签署应用程序时,出现以下错误。谁能帮我解决这个问题?
keytool error :java.io.IoException:Incorrect AVA format
我在论坛上找到了一些解决方案,例如我需要运行debug.keystore
但我没有成功。
可能您在名称、组织或其他地方的字段中输入了非法字符(类似于,(逗号))。
当然,如果你真的想要某些字符可以用 \ 符号转义
“+”(加号)符号也会导致此问题。(人们通常倾向于在国家代码字段中使用 + 号)
尝试使用 Eclipse ADT 导出已签名的 .apk 文件时遇到错误。该错误与您的错误相同。就我而言,我在国家代码之前使用了 + 号。通过从此名称中删除 + 号解决了问题并允许我完全导出我签名的 .apk 文件。此外,使用逗号、斜线、分号、引号时也会出现此错误。
您在导出 apk 时尝试使用特殊字符。您不能在创建 apk 时显示的任何字段中使用这些特殊字符。特殊字符集包括:
我通过更改国家代码解决了这些异常:
+91
至
India
当我根本没有设置专有名称选项时,我遇到了这个错误。这已通过将选项设置为格式有效的字符串来纠正。
此命令因 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”命令行,因此很难给出准确的答案。如果您尝试生成 pub/priv 密钥对(“-genkeypair”参数),那么 1 个问题是证书主题专有名称(“ -dname ”arg)未在正确的 X.500 AVA 中指定(“属性/价值”断言)格式。例如,省略主题公用名 (CN) 前面的“CN=”。参数应该是这样的:
keytool ... -dname="CN=SomeCertSubject" ...
在此专有名称参数中,“ CN ”(“Common Name”)是“ A属性”,“ SomeCertSubject ”是“值”。
这个“可能你在名称,组织或其他地方的字段中输入了非法字符(类似于,(逗号))。”为我工作。我在州或省上有一个逗号。请按规则将此答案标记为答案;因为 +91 中的 + 是一个特殊字符。
+
我在国家代码前面输入了一个错误。所以改变了如下的值。
+7
至7
这个对我有用。
当我们要在 Android Studio 中生成签名 APK 时,这是一个常见的错误。因此,在Keystore文件中,您不能使用任何特殊字符或符号,例如 ( , \ + - * / < > ; ' " ) 否则,您会得到 java.io.IoException。
查看演示,您如何填写您的密钥库文件:
密码:没有特殊字符或符号的任何内容
别名: Key0(由您决定)
有效期(年): 25(由您决定)
名字和姓氏:您的正确姓名,但不要在您的名字中使用特殊字符,例如 $unny @dam
组织单位:您的组织名称
组织:您的组织名称
城市或地区:您的城市名称
州或省:您的州或省名称
国家代码 (XX):使用您的国家代码,如果您不知道,请搜索 Google。
然后点击确定