keytool 오류: java.io .IoException:잘못된 ABA 형식
저는 안드로이드 개발에 익숙하지 않습니다. 애플리케이션에 서명하려고 할 때 다음과 같은 오류가 발생했습니다.이 문제에 대해 누가 저를 도와줄 수 있나요?
keytool error :java.io.IoException:Incorrect AVA format
포럼에서 몇 가지 해결책을 찾았습니다. 예를 들어 다음을 실행해야 합니다.debug.keystore
하지만 전 성공하지 못했습니다.
이름, 조직 또는 다른 곳의 필드에 잘못된 문자(예: (콤마))를 입력했을 수 있습니다.
물론, 만약 당신이 정말 원한다면, 어떤 캐릭터는 \sign으로 탈출할 수 있습니다.
(+ 기호) 기호도 이 문제의 원인이 됩니다.(사람들은 종종 국가 코드 필드에 + 기호를 사용하는 경향이 있습니다.)
Eclipse ADT로 서명된 .apk 파일을 내보내는 동안 오류가 발생했습니다.그 오류는 당신의 오류와 같습니다.저의 경우 국가 코드 앞에 + 기호를 사용했습니다.이 이름에서 + 기호를 제거하여 문제를 해결하고 서명된 .apk 파일을 완전히 내보낼 수 있습니다.또한 이 오류는 쉼표, 슬래시, 세미콜론, 따옴표를 사용할 때 발생할 수 있습니다.
pk를 내보내는 동안 특수 문자를 사용하려고 했습니다.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"
특수 문자/모든 좋은 답변을 피하는 것이 문제일 수 있습니다./ 정확한 답변을 제공하기 위해 실제 "키 툴" 명령줄을 그렇게 어렵게 공유하지 않았습니다.pub/priv 키 쌍("-genkeypair" param)을 생성하려는 경우 한 가지 문제는 특정 주체 구분 이름("-dname" arg)이 올바른 X.500 ABA("속성/값" Assertion) 형식으로 지정되지 않았다는 것입니다.예를 들어 CN 앞에 있는 "CN="을 생략하면 다음과 같이 됩니다.
keytool ... -dname="CN=SomeCertSubject" ...
이 구분 이름 매개 변수에서 "CN"("공통 이름")은 "속성"이고 "SomeCertSubject"는 "값"입니다.
"아마도 이름, 조직 또는 다른 곳의 필드에 잘못된 문자(, (콤마)와 같은 문자)를 입력했을 것입니다.저를 위해 일했습니다.나는 주나 지방에 콤마를 가지고 있었습니다.+91의 +는 특수 문자이므로 규칙에 따라 이 답변을 답변으로 표시하십시오.
입력을 잘못했습니다.+
그래서 아래와 같이 값을 변경했습니다.
+7
7
저한테는 효과가 있어요.
Android Studio에서 Signed APK를 생성하려고 할 때 흔히 있는 실수입니다.따라서 Keystore 파일에서는 (, \ + - * / < > ' ")와 같은 특수 문자나 기호를 사용할 수 없습니다. 그렇지 않으면 java.io 가 표시됩니다.IoException.
데모를 참조하십시오. Keystore 파일을 채우는 방법:
암호: 특수 문자나 기호가 없는 모든 항목
별칭: Key0(사용자에 따라 다름)
유효기간(년): 25(자정)
이름 및 성:당신의 고유한 이름이지만 $unny @dam과 같은 특별한 문자를 당신의 이름에 사용하지 마세요.
조직 구성 단위: 조직 이름
조직:조직 이름
도시 또는 지역:도시 이름
시/도:사용자의 시/도 이름
국가 코드(XX): 국가 코드를 사용하여 모르는 경우 Google을 검색합니다.
그런 다음 확인을 클릭합니다.
언급URL : https://stackoverflow.com/questions/11808391/keytool-error-java-io-ioexceptionincorrect-ava-format
'programing' 카테고리의 다른 글
' 서스크사안함에용롤'에서 안 함' 서스크사안함에용롤'에서 안 함' 서스크사안함에용롤'에서 안 함``` (0) | 2023.08.27 |
---|---|
Larvel 5 프로덕션 모드에서 전환하는 방법 (0) | 2023.08.27 |
jQuery - 교차 도메인에서 웹 서비스 액세스 (0) | 2023.08.27 |
Android TextView 행 간 패딩 (0) | 2023.08.27 |
Node.js의 디렉터리를 제거하지 않고 디렉터리에서 모든 파일을 제거하는 방법 (0) | 2023.08.27 |