помилка клавіатури: java.io.IoException: Неправильний формат AVA


179

Я новачок у розробці Android; коли я намагався підписати заявку, у мене з’явилася така помилка. Хтось може мені допомогти з цього питання?

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

Я знайшов рішення на форумах, наприклад, мені потрібно запустити, debug.keystoreале я не мав успіху.



Відповіді:


476

Можливо, ви ввели незаконний символ (щось на зразок, (кома)) у полі Ім'я, Організація чи десь ще.

Звичайно, якщо ви дійсно хочете, щоб якийсь характер уникнув знаком \


21
Просто FYI, якщо ви дійсно хочете кома в полі, ви можете уникнути її за допомогою провідної косої риси, наприклад, Acme \, Inc. Див. Docs.oracle.com/javase/6/docs/technotes/tools/solaris/… . Це також працює в діалоговому вікні підписання IDE Eclipse.
Yojimbo

1
Для мене це був знак + у полі "Організація". Попередження на зворотному куті зробило трюк, спасибі Yojibmo!
Чад Шульц

4
Нічого собі, я міг витратити дні, намагаючись розібратися в цьому, і це було комою в назві моєї організації (я використовував "..., LLC"). Дякую тонну.
akousmata

+1 Це має бути прийнятою відповіддю. Також слід перевірити, коли користувач вводив (кома) (,) або спеціальний символ, майстер експорту повинен повідомити користувачеві або вказати на те саме текстове поле, що це не повинно дозволяти.
Зубайр Ахмед

1
Проблемою для мене був код країни. Я поставив "+1" і, мабуть, + підвищував виняток.
Донато

51

Я зіткнувся з помилкою під час спроби експорту підписаного файлу .apk за допомогою Eclipse ADT. Помилка була такою ж, як і ваша помилка. У моєму випадку я використовував знак + перед кодом країни. Видаливши знак + від цього імені, виправили проблему і дозволили повністю експортувати підписаний файл .apk. Також ця помилка може виникнути при використанні коми, косої риски, напівкрапки, цитати.


Дякую. Я також використовував знак "+". )
Дмитро Кануннікофф

Дякую. Це вирішило мою проблему, яку я використав + у коді країни
Khizar Hayat

20

Ви намагалися використовувати спеціальні символи під час експорту apk. Ви не можете використовувати ці спеціальні символи в жодному полі, показаному під час створення apk. Спеціальний набір символів включає:

  • Коми (,)
  • Символ додавання (+)
  • Лапка (")
  • Похила косою рисою ("\")
  • Кутові дужки (<і>)
  • Напіво-двокрапка (;)

7

Я вирішив ці Винятки, змінивши код країни:

+91 до India


Для цього поля ви повинні використовувати код країни iso 3166-1 , у вашому випадку "IN"
PassKit

6

Я зіткнувся з цією помилкою, коли взагалі не встановив варіант розрізнення імені. Це було виправлено, встановивши параметр на дійсно відформатований рядок.

ця команда не вдалася за винятком формату 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

це "Можливо, ви ввели незаконний символ (щось на зразок, (кома)) у полі Ім'я, Організація чи десь інше". У мене була кома на державі чи провінції. будь ласка, позначте цю відповідь правилом як відповідь; як + в +91 - це особливий символ.


для мене помилка була викликана комою між назвою компанії та llc. (спасибі кінгслі сітчик).
tmr

1

Спеціальні проблеми / уникнення всіх хороших відповідей / можуть стати проблемою; ви не поділили свій власний командний рядок "keytool" так важче, щоб дати точну відповідь. Якщо ви намагаєтеся створити пару ключів pub / priv (парам "-genkeypair"), тоді одна проблема полягатиме в тому, що тест cert відрізняє ім'я ( arg- " ім'я " arg) не вказано у правильному X.500 AVA ( " ttribute- V alue- A ssertion") формат. Наприклад, опущення "CN =" перед загальною назвою теми (CN). Парам повинен виглядати приблизно так:

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

У цьому розрізняють імені пари, « CN » ( «Загальна назва») є « ttribute», « SomeCertSubject » є « V ALUE».


0

Не вдається Google сказати "Недійсний символ". Натомість вони говорять "Incorret AVA формат" Стрийте будь-які не буквено-цифрові символи, ніяких наголосів і жодних дивних букв.


будь ласка, дайте належні відповіді!
Амануїл Нега
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.