error keytool: java.io.IoException: formato AVA incorrecto


179

Soy nuevo en el desarrollo de Android; Cuando he estado intentando firmar la aplicación, aparece el siguiente error. ¿Alguien puede ayudarme en este tema?

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

He encontrado alguna solución en los foros, por ejemplo, necesito ejecutar el debug.keystorepero no tuve éxito.



Respuestas:


476

Probablemente ingresó un carácter ilegal (algo así como (coma)) en un campo para Nombre, Organización o en otro lugar.

Por supuesto, si realmente quieres un poco de carácter se puede escapar con \ sign


21
Solo para su información, si realmente quiere una coma en un campo, puede escapar de ella con una barra diagonal inversa, por ejemplo, Acme \, Inc. Consulte docs.oracle.com/javase/6/docs/technotes/tools/solaris/… . Esto también funciona en el diálogo de firma del IDE de Eclipse.
Yojimbo

1
Para mí, era un signo + en el campo "Organización". Pretender con una barra invertida hizo el truco, ¡gracias Yojibmo!
Chad Schultz

44
Wow, podría haber pasado días tratando de resolver esto, y fue una coma a nombre de mi organización (usé "..., LLC"). Gracias una tonelada.
akousmata

+1 Esta debería ser la respuesta aceptada. También debe haber una comprobación cuando el usuario ingresa (coma) (,) o un carácter especial, el asistente de exportación debe informarle al usuario o señalar a ese cuadro de texto en particular que esto no debe permitirse, cámbielo.
Zubair Ahmed

1
El problema para mí fue el código del país. Puse "+1" y aparentemente el + estaba planteando la excepción.
Donato

50

Me he enfrentado a un error al intentar exportar un archivo .apk firmado con Eclipse ADT. El error fue igual a tu error. En mi caso, usé un signo + antes del código del país. Al eliminar el signo + de este nombre, solucioné el problema y me permitió exportar completamente mi archivo .apk firmado. Además, este error puede ocurrir cuando se usan comas, barras inclinadas, punto y coma, comillas.


Gracias. También usé el signo '+'. )
DmitryKanunnikoff

Gracias. Esto resolvió mi problema que usé + en el código de país
Khizar Hayat

20

Intentaste usar caracteres especiales al exportar apk. No puedes usar estos caracteres especiales en ningún campo que se muestra al crear el apk. El conjunto de caracteres especiales incluye:

  • Comas (,)
  • Símbolo de adición (+)
  • Comillas (")
  • Barra diagonal inversa ("\")
  • Paréntesis angulados (<y>)
  • Punto y coma (;)


6

Encontré este error cuando no configuré la opción de nombre distinguido en absoluto. Esto se corrigió estableciendo la opción en una cadena con formato válido.

este comando falló con la excepción de formato AVA: (saltos de línea agregados para legibilidad)

C:\Program Files\Java\jdk1.6.0_45\jre\bin>keytool 
-genkey -v -dname PatrickTaylor -validity 10000 
-keystore C:\drops\patrickkeystore 

Este comando se completó con éxito:

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

esto "Probablemente ingresó un carácter ilegal (algo así como (coma)) en un campo para Nombre, Organización o en otro lugar" funcionó para mí. Tenía una coma en el estado o provincia. marque esta respuesta por regla como la respuesta; como + en +91 es un personaje especial.


para mí, el error fue causado por una coma entre el nombre de la empresa y llc. (Gracias Kingsley Sithole).
tmr

1

Caracteres especiales / escapar de todas las buenas respuestas / podría ser el problema; no compartiste tu línea de comando "keytool" tan difícil de dar una respuesta precisa. Si está intentando generar un par de claves pub / priv (parámetro "-genkeypair"), entonces 1 problema sería que el nombre distinguido del sujeto cert ( argumento " -dname ") no se especificó en el AVA X.500 correcto (" A ttribute- V alue- A ssertion") formato. Por ejemplo, omitiendo el "CN =" delante del nombre común del sujeto (CN). Param debería verse así:

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

En este parámetro de nombre distinguido, " CN " ("Nombre común") es el " Atributo A ", " SomeCertSubject " es el " V alor".


0

Google no puede decir "Carácter no válido". En cambio, dicen "Formato Incorret AVA". Elimina los caracteres no alfanuméricos, sin acentos y sin letras raras.


por favor, da las respuestas adecuadas!
Amanuel Nega
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.