Eclipse Android eklentilerinde "Hata ayıklama sertifikasının süresi doldu" hatası


1898

Bir proje oluşturmak için Eclipse Android eklentileri kullanıyorum, ancak konsol penceresinde bu hatayı alıyorum:

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

Nasıl düzeltebilirim?


8
Birisi bunun neden olduğunu söyleyebilir mi?
Matical

2
Sistem tarihiniz değişti mi, 25 yıllık geçerli sertifikasına neden olur (başvuru imzalanırken önerildiği gibi). onun değil olay özellikle 5 yaşında
Trikaldarshi

Yeni anahtar deposu oluşturmanız gerekiyor
bynu022

Yanıtlar:


2241

Altında ayıklama sertifikası silinsin ~/.android/debug.keystoreüzerinde Linux ve Mac OS X ; dizin gibi bir şey %USERPROFILE%/.androidüzerinde Windows'un .

Eclipse eklentisi daha sonra bir hata ayıklama paketi oluşturmaya çalıştığınızda yeni bir sertifika oluşturmalıdır. Sertifikayı oluşturmak için temizlemeniz ve sonra derlemeniz gerekebilir.


13
Windows'ta debug.keystore'u silmek ve yeni bir derleme yapmak için bazı değişiklikler yapmak zorunda kaldım. Yeni bir test projesi oluşturdum ve yeni debug.keystore oluşturuldu.
Tomas

117
Ayrıca, projeyi 'temizlerseniz' mevcut proje için yeniden oluşturulacaktır (Project -> Clean ... 'e gidin)
adamnfish

11
Şimdi bunun düzeltilmesini isteyen bir hata izleyici sorunu var. Lütfen oy verin. code.google.com/p/android/issues/detail?id=15370
Manfred Moser

61
Temiz benim için sorunu çözmedi, elle rm ~ / .android / debug.keystore gerekiyordu.
James Moore

3
@James Anahtar deposunu el ile silmek yukarıdaki cevabın ilk kısmıdır. Yeni bir anahtar deposu oluşturmak için yapmanız gereken projeyi temizlemek (veya yeniden inşa etmek).
Christopher Orr

334

Yükleme sonrasında, Android SDK debugadlı bir anahtar deposunda sizin için bir imza sertifikası oluşturur debug.keystore. Eclipse eklentisi, oluşturulan her uygulama derlemesini imzalamak için bu sertifikayı kullanır.

Maalesef bir hata ayıklama sertifikası yalnızca 365 gün geçerlidir. Yeni bir debug.keystoredosya oluşturmak için mevcut dosyayı silmeniz gerekir . Konumu platforma bağlıdır - bunu Tercihler - Android - Derleme - Varsayılan hata ayıklama anahtar deposunda bulabilirsiniz .


23
Varsayılan 30 yılı yapmak için değişiklik 6 Nis 2011 tarihinde kabul edildi: review.source.android.com/#change,22128
James Moore

Debug.keystore dosyanızı silerseniz başvurunuzu nasıl güncellersiniz?
user739375

6
@ user739375, debug.keystore sadece hata ayıklama için kullanılır, "üretim" için ayrı bir sertifika kullanılır.
Teo Klestrup Röijezon

@JamesMoore Sertifikanın kaç yaşında olduğunu gerçekten hayrete
düşürdüm

254

Tüm geliştirme .apk dosyalarınızı silmek çok acı vericidir, çünkü yeni sertifika eşleşmediği için bunları tüm AVD'lerinizde yükseltemezsiniz. Başka bir geliştirme MAP-API anahtarı almanız gerekir. Başka bir çözüm daha var.

debug.keystoreSona erme tarihine kadar kendi hata ayıklama sertifikanızı oluşturabilirsiniz . Bunu .androiddizininizin altındaki klasörde yapın HOME:

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

keytool.exeJDK bin klasöründe bulunabilir (örneğin C:\Program Files\Java\jdk1.6.0_31\bin\Windows'ta).

ADT, sertifikadaki adı ve soyadı "Android Hata Ayıklama", kuruluş birimini "Android" ve iki harfli ülke kodunu "ABD" olarak ayarlar. Kuruluş, şehir ve eyalet değerlerini "Bilinmiyor" olarak bırakabilirsiniz. Bu örnek, 14000 günlük bir geçerlilik kullanır. İstediğiniz değeri kullanabilirsiniz.


3
Bunu beğendim, çünkü SDK süresi dolmuş sertifikayı işlemek için daha iyi bir yol sağlayana kadar daha uzun vadeli bir düzeltme sağlıyor.
Sean Aitken

23
Bunu sevdim çünkü hiç tutulma kullanmama gerek yok.
MattK

Bunun komut satırının altına girileceğini varsayıyorum. Eğer öyleyse, "keytool tanınmadı" hatası alıyorum. Bu yöntemi daha fazla açıklayabilir misiniz?
Ted Betz

1
keytool, JDK'nızın bin dizininde (herhangi bir işletim sistemi) bulunabilir. Genellikle bu bin dizinini PATH'ime ekliyorum, böylece yukarıdan her yerden çalışacaktı. JDK bin dizininizi bulabilir ve PATH'nize ekleyebilir veya komut satırındaki anahtar aracının tam yol adını koyabilirsiniz.
Dave MacLean

1
Diğer yorumcuların belirttiği gibi, Google hata ayıklama sertifikasının varsayılan süresini uzatmış gibi görünüyor, bu nedenle debug.keystore dosyasını silmek ve clean / build yapmak çok daha kolay.
Dave MacLean

81

Vista'da bu işe yaradı:

  1. DOS: del c:\user\dad\.android\debug.keystore

  2. ECLIPSE: Projede, projeyi temizleyin. Eclipse'i kapatın. Tutulmayı tekrar açın.

  3. ECLIPSE: Öykünücüyü başlatın. Uygulamayı emülatörden kaldırın.

Senin gitmen iyidir.

Bu hatayı söylediğimde oldukça endişeliydim, ama burada okumayı ve 10 dakika oynamayı düzelttim.


68
  • PENCERELER

Debug.keystore: Sil bulunan C:\Documents and Settings\\[user]\.androidClean ve proje oluşturmak.

  • Windows 7C:\Users\[username]\.android debug.keystore dosyasına gidin ve silin.

Projenizi temizleyin ve oluşturun.

  • MAC

~/.android/debug.keystoreProjenizi temizleyin ve projenizi oluşturun bölümünde bulunan anahtar deponuzu silin .

Tüm seçeneklerde yeni debug.keystore'u alamıyorsanız eclipse'i yeniden başlatın.


56

Windows 7'de yol

C:\Users\[username]\.android
  • bu yola git ve kaldır debug.keystore
  • projenizi temizleyin ve oluşturun.

41

Bir sertifikanın proje hata ayıklamasının ortasında süresi dolarsa manuel olarak kaldırmanız gerekir :

Lütfen adb uninstall <package_name>bir kabukta çalıştırın .


38

Mac'te Terminal'i açın (geçerli kullanıcının dizini açılmalıdır), cd ".android" ("ls" doğrulamak için debug.keystore var). Son olarak "rm debug.keystore" dosyasını kaldırın.


36

Android SDK sizin için "hata ayıklama" imzalama sertifikası oluşturur debug.keystore. Eclipse eklentisi, oluşturulan her uygulama derlemesini imzalamak için bu sertifikayı kullanır.

Maalesef bir hata ayıklama sertifikası yalnızca 365 gün geçerlidir. Yeni bir tane oluşturmak için mevcut debug.keystoredosyayı silmeniz gerekir . Konumu platforma bağlıdır - Tercihler -> Android -> Oluştur -> * Varsayılan hata ayıklama anahtar deposunda bulabilirsiniz.

Windows kullanıyorsanız, aşağıdaki adımları izleyin.

DOS: del c: \ kullanıcı \ dad.android \ debug.keystore

Tutulma: Projede projeyi temizleyin. Eclipse'i kapatın. Tutulmayı tekrar açın.

Eclipse: Öykünücüyü başlatın. Uygulamayı emülatörden kaldırın.

Linux veya Mac kullanıyorsanız, aşağıdaki adımları izleyin.

El ile silin debug.keystoregelen .androidklasöründe.

.androidKlasörü şu şekilde bulabilirsiniz :home/username/.android

Not: varsayılan .androiddosya gizlenecektir.

Yerler menüsünü tıklayın. Ana klasörü seçin. Görünümde, altında gizli dosyaları göster altında .androidklasör görünür.

Sil debug.keystoredan .android folder.

Ardından projenizi temizleyin. Şimdi Android yeni bir .android folderdosya oluşturacak .


34

Bu problemi birkaç hafta önce yaşadım. İlk olarak Android geliştirici sitesinde sorun gidermeyi denedim , ancak şanssız. Bundan sonra sorunumu çözen Android SDK'yı yeniden yükledim.


33

Hmmm. Bu kadar çok insanın biraz farklı deneyimler yaşaması ilginç. Bunun, yazılımın piyasaya sürülmeye hazır olmadığının bir işareti olarak kabul edildiği günleri hatırlıyorum ve ekip, kullanıcılar bu sorunları görmeye başlamadan ÖNCE bunu düzeltirdi :(

Kendi deneyimim biraz farklıydı. Project> Clean'i zaten denemiştim, ancak yine de aynı derleme hatasını aldım. Sonra ilk cevabın söylediği gibi debug.keystore'u (.android altında) sildim. Hala aynı problemi yaşıyorum. Sonra tekrar bir temizlik yaptım ve harikalar harikası, işe yaradı!

Şimdi beni yanlış anlamayın, bu konudaki ipuçları sayesinde çalıştığım için mutluyum. Ama açıkça temiz doğru çalışmıyor ve anahtar deposunu sildikten sonra nasıl süresi dolmuş bir anahtar buldunuz ??? Açıkçası Eclipse veya ADT ile ilgili bir sorun var - hangisi olduğundan emin değilim.


Eclipse dosyaları önbelleğe alma eğilimindedir, bu nedenle bazen dosyanın diskte değiştiğini bildirmek için bir temizleme / yenileme gerekir.
navjotk

33

Ubuntu'da bu işe yaradı:

Gittiğim home/username/.androidve ben adını keystore.debugetmek keystoreold.debug. Sonra Eclipse'yi kapattım, Eclipse'i başlattım ve SDK keystore.debugbu klasörde yeni sertifika oluşturdu .

Ardından, USB Hata Ayıklama veya imzasız bir APK ("imzasız" APK = hata ayıklama sertifikası ile imzalanmış) aracılığıyla yüklediğiniz uygulamaları kaldırmanız / yeniden yüklemeniz gerekir.


14

Windows xp için debug.keystore dosyasına gidin C:\Documents and Settings\%userprofile%\.androidve silin , tutulmayı yeniden başlatın ve şimdi projeniz hatasız bir şekilde oluşturuluyor.

Örnek yol:

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

daha fazla bilgi için burayı okuyun .


13

Windows'da debug.keystoredosya C:\Users\%Username%\.androidklasörde yer alır. Bu dosya android SDK'nızı yüklediğinizde oluşturulur ve yalnızca bir yıl geçerlidir. Bu peroddan sonra bu hatayı almaya başlayacaksınız Error getting final archive: Debug certificate expired on xx/xx/xxxx.

Bu hatayı kaldırmak için dosyayı silin ve programı tekrar çalıştırın. Eclipse'imde Project->Build Automaticallydoğrudan çalıştım, ancak devre dışı bıraktıysanız projeyi temizlemeniz gerekecek Project->Clean.. projenizi seçin ve Tamam'a basın. Sonra manuel olarak oluşturmanız gerekir. 3. projenize tıklayın ve seçin Build project. (Not - Bu seçeneği yalnızca Projeler Menünüzde Otomatik Olarak Oluştur özelliğini devre dışı bıraktıysanız görürsünüz)


13

Önce tutulması kapatın, sonra

CMD'yi Pencere Tuşu + R ile veya Yönetici Olarak Çalıştır ile açın

Aşağıdaki adımı izler

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

bu yeniden tutulmadan sonra.


7

Yükledikten sonra Android SDK in Eclipse, debug.keystore adlı bir anahtar deposunda sizin için bir hata ayıklama imzalama sertifikası oluşturur . Eclipse eklentisi, oluşturulan her uygulama derlemesini imzalamak için bu sertifikayı kullanır.

Şimdi, bu hata ayıklama sertifikasındaki sorun, yalnızca bir yıl veya 365 gün geçerli olmasıdır. If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app.

Bu sorunu gidermek için tek yapmanız gereken debug.keystore dosyasını silmek .

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

Orada dosyanın bulunduğu klasörü görmelisiniz. Sadece bu dosyayı silin ve hazırsınız.

Daha fazla bilgi için. ziyaret edebilirsin

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


0

Bu sorunu gidermek için, debug.keystore dosyasını silin.

AVD'ler için varsayılan depolama yeri:

OS X ve Linux'ta ~ / .android / dizininde.

Windows XP'de C: \ Documents and Settings \ .android \ dizininde

Windows Vista ve Windows 7'de C: \ Users \ .android \ dizininde.

Ayrıca yardımcı olabilecek bu bağlantıya bakın.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.