我是Android开发的新手;当我一直试图签署该应用程序时,我遇到了以下错误。任何人都可以帮我解决这个问题吗?
keytool error :java.io.IoException:Incorrect AVA format
我在论坛上找到了一些解决方案,例如我需要运行debug.keystore
,但我没有成功。
答案 0 :(得分:434)
可能您在名称,组织或其他地方的字段中输入了非法字符(例如,(逗号))。
当然,如果你真的想要一些charachter可以使用\ sign
进行转义答案 1 :(得分:42)
尝试使用Eclipse ADT导出已签名的.apk文件时遇到错误。错误与您的错误相同。就我而言,我在国家代码前使用了+号。通过从此名称中删除+号,修复了问题并允许我完全导出已签名的.apk文件。 此外,使用逗号,斜杠,分号,引号时可能会发生此错误。
答案 2 :(得分:19)
您在导出apk时尝试使用特殊字符。在创建apk时,您无法在显示的任何字段中使用这些特殊字符。特殊字符集包括:
答案 3 :(得分:5)
当我没有设置专有名称选项时,我遇到了这个错误。通过将选项设置为有效格式化的字符串来更正此问题。
此命令因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 :(得分:3)
我通过更改国家/地区代码解决了这些异常:
+91
来
India
答案 5 :(得分:3)
这"可能你在名称,组织或其他地方的字段中输入了非法字符(例如,(逗号))。 "为我工作。我在州或省有一个逗号。请按规则将此答案标记为答案; as + in +91是一个特殊字符。
答案 6 :(得分:1)
100% 会奏效。
在创建已签名的 APK 之前,您必须准备您的项目。
依赖:
颤动:
SDK:颤动
颤振自动化:^1.1.4
目前 ^1.1.4 是最新的依赖项,这最终会改变。
在您的项目目录中的命令提示符中运行 flutter packages get
运行 flutter pub pub run flutter_automation --android-signin 你的命令提示符。然后你会被要求输入
然后你可以给出下面的代码。它下面的代码工作 100%。 (如果你想改变,你可以做到。) 输入密钥别名:
omor4flutter
输入名称为 (CN=popupbits.com, OU=DD, O=Popup Bits Ltd., L=Kathmandu, S=Bagmati, C=NP):
CN=popupbits.com, OU=DD, O=Popup Bits Ltd., L=Kathmandu, S=Bagmati, C=NP
密钥密码:
omor4flutter
密钥库密码:
omor4flutter
只需运行 flutter build apk --release 或 flutter build bundle --release 即可生成应用的签名 apk/bundle。
答案 7 :(得分:1)
在国家/地区代码前面输入 +
是我的错误。所以改变了如下值。
+7
到 7
它对我有用。
答案 8 :(得分:0)
不能谷歌说"无效字符"。 相反,他们说" Incorret AVA格式" 剥去任何非字母数字字符,没有重音符号,也没有奇怪的字母。
答案 9 :(得分:0)
特殊字符/转义所有好的答案/可能是问题所在;您没有共享实际的“ keytool”命令行,因此很难给出准确的答案。如果您尝试生成一个发布/私有密钥对(“ -genkeypair”参数),那么一个问题将是未指定证书使用者的专有名称(“ -dname ” arg)以正确的X.500 AVA(“ A 特技- V alue- A 序列”)格式。例如,在主题公用名(CN)前面省略“ CN =“。参数应该看起来像这样:
keytool ... -dname="CN=SomeCertSubject" ...
在此专有名称参数中,“ CN ”(“通用名称”)是“ A 属性”,“ SomeCertSubject ”是“ V alue”。
答案 10 :(得分:0)
当我们要在Android Studio中生成Signed APK时,这是一个常见的错误。因此,在 Keystore 文件中,您不能使用任何特殊字符或符号,例如(,\ +-* / <>;'“ ),否则,您将得到java.io .IoException。
观看演示,如何填写密钥库文件:
密码:没有特殊字符或符号的任何内容
别名: Key0(由您决定)
有效期(年):25(由您决定)
名字和姓氏:您的专有名称,但不要使用特殊字符,例如$ unny @dam
组织单位:您的组织名称
组织:您的组织名称
城市或地区:您的城市名称
州或省:您的州或省名称
国家代码(XX):如果不知道,请使用您的国家代码,然后搜索Google。
然后单击确定