Eclipse Android 플러그인의 "디버그 인증서 만료"오류


1898

Eclipse Android 플러그인을 사용하여 프로젝트를 빌드하고 있지만 콘솔 창 에서이 오류가 발생합니다.

[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!

어떻게 고치나요?


8
왜 이런 일이 발생하는지 알 수 있습니까?
Matical

2
시스템 날짜가 변경되어 유효 기간이 25 년입니다 (신청서에 서명하는 동안 권장 됨). 5 년 이상 된 행사가 아닙니다
Trikaldarshi

새로운 키 저장소를 만들어야합니다
bynu022

답변:


2241

Linux 및 Mac OS X~/.android/debug.keystore 에서 디버그 인증서를 삭제하십시오 . 디렉토리는 Windows 와 유사 합니다 .%USERPROFILE%/.android

Eclipse 플러그인은 다음에 디버그 패키지를 빌드하려고 할 때 새 인증서를 생성해야합니다. 인증서를 정리 한 다음 빌드하여 인증서를 생성해야 할 수도 있습니다.


13
Windows에서는 debug.keystore를 삭제하고 새로운 컴파일을 수행하기 위해 변경해야했습니다. 새로운 테스트 프로젝트를 만들고 새로운 debug.keystore가 생성되었습니다.
Tomas

117
프로젝트를 '청소'하면 현재 프로젝트에 대해 재생성됩니다 (프로젝트-> 정리 ...로 이동)
adamnfish

11
이제이 문제를 해결하도록 요청하는 버그 추적기 문제가 있습니다. 투표 해주세요. code.google.com/p/android/issues/detail?id=15370
Manfred Moser

61
Clean은 나를 위해 문제를 해결하지 못했습니다. 손으로 rm ~ / .android / debug.keystore를 작성해야했습니다.
제임스 무어

3
@James 수동으로 키 저장소를 삭제하는 것이 위의 답변의 첫 번째 부분입니다. 새 키 저장소를 생성하려면 프로젝트 정리 (또는 재 구축)가 필요합니다.
Christopher Orr

334

설치시 Android SDK는 debug이라는 키 저장소에서 서명 인증서를 생성합니다 debug.keystore. Eclipse 플러그인은이 인증서를 사용하여 생성 된 각 애플리케이션 빌드에 서명합니다.

불행하게도 디버그 인증서는 365 일 동안 만 유효합니다. 새로운 debug.keystore파일 을 생성하려면 기존 파일을 삭제해야 합니다. 위치는 플랫폼에 따라 다릅니다. Preferences-Android-Build-Default 디버그 키 저장소 에서 찾을 수 있습니다 .


23
2011 년 4 월 6 일에 기본 30 년으로 변경 한 변경 사항이 적용되었습니다. review.source.android.com/#change,22128
James Moore

debug.keystore를 삭제하면 응용 프로그램을 어떻게 업데이트합니까?
user739375

6
@ user739375, debug.keystore는 디버깅에만 사용되고 별도의 인증서는 "프로덕션"에 사용됩니다.
Teo Klestrup Röijezon

@JamesMoore 나는 증명서가 몇 살인지 정말로 놀랐다
Trikaldarshi

254

새 개발 인증서가 일치하지 않으므로 모든 개발 .apk 파일을 삭제해야하기 때문에 모든 AVD에서 업그레이드 할 수 없습니다. 다른 개발 MAP-API 키도 가져와야합니다. 다른 해결책이 있습니다.

debug.keystore원하는 만료 시간으로 고유 한 디버그 인증서를 만들 수 있습니다 . 디렉토리 .android아래 의 폴더에서이를 수행하십시오 HOME.

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000

keytool.exeJDK bin 폴더 (예 : C:\Program Files\Java\jdk1.6.0_31\bin\Windows) 에서 찾을 수 있습니다 .

ADT는 인증서의 성과 이름을 "Android Debug"로, 조직 구성 단위는 "Android"로, 2 자리 국가 코드는 "US"로 설정합니다. 조직, 도시 및 주 값을 "알 수 없음"으로 그대로 둘 수 있습니다. 이 예에서는 14000 일의 유효 기간을 사용합니다. 원하는 값을 사용할 수 있습니다.


3
SDK가 만료 인증서를 처리하는 더 좋은 방법을 제공 할 때까지 더 장기적인 수정을 제공하기 때문에 이것을 좋아합니다.
Sean Aitken

23
나는 일식을 전혀 사용할 필요가 없기 때문에 이것을 좋아합니다.
MattK

나는 이것이 명령 줄 아래에 입력되어야한다고 가정합니다. 그렇다면 "keytool이 인식되지 않습니다"라는 오류가 발생합니다. 이 방법을 더 자세히 설명해 주시겠습니까?
테드 베츠

1
keytool은 JDK의 bin 디렉토리 (모든 OS)에서 찾을 수 있습니다. 나는 보통이 bin 디렉토리를 PATH에 추가하므로 위의 곳은 어디에서나 작동합니다. JDK bin 디렉토리를 찾아 PATH에 추가하거나 명령 행에서 keytool의 전체 경로 이름을 넣을 수 있습니다.
Dave MacLean

1
다른 의견 제시 자들이 지적했듯이 Google은 디버그 인증서의 기본 기간을 연장 한 것으로 보이므로 debug.keystore 파일을 삭제하고 정리 / 빌드하는 것이 훨씬 쉽습니다.
Dave MacLean

81

Vista에서는 다음과 같이 작동했습니다.

  1. 도스 : del c:\user\dad\.android\debug.keystore

  2. ECLIPSE : 프로젝트에서 프로젝트를 정리하십시오. Eclipse를 닫으십시오. Eclipse를 다시여십시오.

  3. ECLIPSE : 에뮬레이터를 시작하십시오. 에뮬레이터에서 응용 프로그램을 제거하십시오.

잘 가세요

나는 그 오류를 말할 때 꽤 걱정했지만 여기에서 읽고 10 분 동안 놀지 못하게했습니다.


68
  • WINDOWS

하게 debug.keystore : 삭제 에 위치한 C:\Documents and Settings\\[user]\.android청소를하고, 프로젝트를 빌드합니다.

  • Windows 7C:\Users\[username]\.androiddebug.keystore 파일 로 이동하여 삭제합니다.

프로젝트를 정리하고 빌드하십시오.

~/.android/debug.keystore정리 에있는 키 저장소를 삭제 하고 프로젝트를 빌드하십시오.

모든 옵션에서 새로운 debug.keystore를 얻을 수 없다면 이클립스를 다시 시작하십시오.


56

Windows 7에서는 경로에 있습니다.

C:\Users\[username]\.android
  • 이 길로 가서 제거하십시오 debug.keystore
  • 프로젝트를 정리하고 빌드하십시오.

41

프로젝트 디버깅 도중 인증서가 만료되면 수동 제거를 수행해야합니다 .

adb uninstall <package_name>쉘에서 실행하십시오 .


38

Mac에서는 터미널 (현재 사용자의 디렉토리가 열려 있어야 함)을 열고 cd ".android"( "ls"를 사용하여 debug.keystore를 확인하십시오)가 있습니다. 마지막으로 "rm debug.keystore"는 파일을 제거합니다.


36

Android SDK는이라는 키 저장소에서 "디버그"서명 인증서를 생성합니다 debug.keystore. Eclipse 플러그인은이 인증서를 사용하여 생성 된 각 애플리케이션 빌드에 서명합니다.

불행하게도 디버그 인증서는 365 일 동안 만 유효합니다. 새 debug.keystore파일 을 생성하려면 기존 파일을 삭제해야 합니다. 위치는 플랫폼에 따라 다릅니다. 환경 설정 -> Android- > 빌드 -> * 기본 디버그 키 저장소 에서 찾을 수 있습니다 .

Windows를 사용하는 경우 아래 단계를 수행하십시오.

DOS : 델 c : \ user \ dad.android \ debug.keystore

Eclipse : 프로젝트에서 프로젝트를 정리하십시오. Eclipse를 닫으십시오. Eclipse를 다시여십시오.

Eclipse : 에뮬레이터를 시작하십시오. 에뮬레이터에서 응용 프로그램을 제거하십시오.

Linux 또는 Mac을 사용하는 경우 아래 단계를 수행하십시오.

폴더 debug.keystore에서 수동으로 삭제 하십시오 .android.

다음 .android과 같은 폴더 를 찾을 수 있습니다 .home/username/.android

참고 : 기본 .android파일은 숨겨집니다.

장소 메뉴를 클릭하십시오. 홈 폴더 선택에서 클릭 숨김 파일에서보기를 클릭 한 후 아래 .android폴더를 볼 수 있습니다.

에서 삭제 debug.keystore하십시오 .android folder.

그런 다음 프로젝트를 정리하십시오. 이제 Android는 새 .android folder파일 을 생성 합니다.


34

몇 주 전에이 문제가있었습니다. 먼저 Android 개발자 사이트 에서 문제 해결 을 시도 했지만 운이 없습니다. 그 후 Android SDK를 다시 설치하여 문제를 해결했습니다.


33

흠. 얼마나 많은 사람들이 이것에 대해 약간 다른 경험을했는지 흥미 롭습니다. 소프트웨어 출시가 준비되지 않았다는 신호로 여겨 졌던 시절을 기억하며 팀은 사용자가 이러한 문제를보기 시작하기 전에 실제로이를 수정했을 것입니다. (

내 경험은 조금 다릅니다. 이미 Project> Clean을 시도했지만 여전히 동일한 빌드 실패가 발생했습니다. 그런 다음 첫 번째 대답과 같이 debug.keystore (.android 아래)를 삭제했습니다. 여전히 같은 문제가 있습니다. 그런 다음 다시 청소하고 놀라운 일이 일어났습니다!

이제 나에게 잘못하지 마십시오.이 스레드의 힌트 덕분에 작동하게되어 기쁩니다. 그러나 분명히 깨끗하게 작동하지 않으며 키 저장소를 삭제 한 후 만료 된 키를 어떻게 찾았습니까 ??? 분명히 Eclipse 또는 ADT에 문제가 있습니다. 확실하지 않습니다.


Eclipse는 파일을 캐시하는 경향이 있으므로 파일이 디스크에서 변경되었음을 알리기 위해 때때로 정리 / 새로 고침이 필요합니다.
navjotk

33

우분투에서는 다음과 같이 작동했습니다.

에 가서 home/username/.android이름 keystore.debug을으로 변경 했습니다 keystoreold.debug. 그런 다음 Eclipse를 닫고 Eclipse를 시작하면 SDK keystore.debug가 해당 폴더에 새 인증서 를 작성했습니다 .

그런 다음 USB 디버깅 또는 서명되지 않은 APK ( "서명되지 않은"APK = 디버그 인증서로 서명 됨)를 통해 설치 한 앱을 제거 / 재설치해야합니다.


14

창으로 이동 XP 용 C:\Documents and Settings\%userprofile%\.android및 삭제 하게 debug.keystore 파일, 오류없이 일식 이제 프로젝트 get 및 빌드를 다시 시작합니다.

경로 예 :

C:\Documents and Settings\raja.ap\.android\

더 읽어보기 .


13

Windows에서 debug.keystore파일은 C:\Users\%Username%\.android폴더의 로케일 입니다. 이 파일은 Android SDK를 설치할 때 생성되며 1 년 동안 만 유효합니다. 이 perod 후이 오류가 발생하기 시작합니다 Error getting final archive: Debug certificate expired on xx/xx/xxxx.

이 오류를 제거하려면 파일을 삭제하고 프로그램을 다시 실행하십시오. 내 이클립스 Project->Build Automatically에서 직접 작동 하도록 활성화 했지만 비활성화 한 경우 프로젝트를 정리해야합니다 Project->Clean.. 프로젝트를 선택하고 확인을 누르십시오. 그런 다음 수동으로 빌드해야합니다. 세 번째로 프로젝트를 클릭 Build project하고을 선택하십시오 . (참고-프로젝트 메뉴에서 자동 빌드 기능을 비활성화 한 경우에만이 옵션이 표시됩니다)


13

먼저 식을 닫고

Window Key + R 또는 Run as Admin을 통해 CMD 열기

다음 단계를 따릅니다

del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000

이 다시 시작 후 식.


7

를 설치하면 debug.keystore 라는 키 저장소Android SDK in Eclipse 에 디버그 서명 인증서가 생성됩니다 . Eclipse 플러그인은이 인증서를 사용하여 생성 된 각 애플리케이션 빌드에 서명합니다.

이제이 디버그 인증서의 문제점은 1 년 또는 365 일 동안 만 유효하다는 것입니다. If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app.

이 문제를 해결하려면 debug.keystore 파일을 삭제하면 됩니다.

  1. Go to Preferences
  2. Android
  3. Build
  4. Default debug keystore

파일이있는 폴더가 표시됩니다. 해당 파일을 삭제하기 만하면됩니다.

더 많은 정보를 위해서. 넌 방문 할 수있다

http://developer.android.com/tools/publishing/app-signing.html


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.