Korzystam z wtyczek Eclipse dla systemu Android, aby zbudować projekt, ale pojawia się ten błąd w oknie konsoli:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
Jak to naprawić?
Korzystam z wtyczek Eclipse dla systemu Android, aby zbudować projekt, ale pojawia się ten błąd w oknie konsoli:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug certificate expired on 1/30/10 2:35 PM!
Jak to naprawić?
Odpowiedzi:
Usuń swój certyfikat debugowania ~/.android/debug.keystore
w systemie Linux i Mac OS X ; katalog jest podobny %USERPROFILE%/.android
do systemu Windows .
Wtyczka Eclipse powinna następnie wygenerować nowy certyfikat podczas następnej próby zbudowania pakietu debugowania. Konieczne może być wyczyszczenie, a następnie kompilacja w celu wygenerowania certyfikatu.
Po instalacji zestaw Android SDK generuje debug
certyfikat podpisywania w magazynie kluczy o nazwie debug.keystore
. Wtyczka Eclipse używa tego certyfikatu do podpisywania każdej generowanej kompilacji aplikacji.
Niestety certyfikat debugowania jest ważny tylko przez 365 dni. Aby wygenerować nowy, musisz usunąć istniejący debug.keystore
plik. Jego lokalizacja zależy od platformy - można ją znaleźć w Preferencjach - Android - Kompilacja - Domyślny magazyn kluczy debugowania .
Usunięcie wszystkich plików APK związanych z programowaniem jest uciążliwe, ponieważ nowy certyfikat nie pasuje, więc nie można uaktualnić ich we wszystkich AVD. Musisz także uzyskać inny klucz MAP-API do programowania. Jest inne rozwiązanie.
Możesz utworzyć własny certyfikat debugowania debug.keystore
z dowolnym terminem ważności. Zrób to w .android
folderze w swoim HOME
katalogu:
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
keytool.exe
można znaleźć w folderze bin JDK (np. C:\Program Files\Java\jdk1.6.0_31\bin\
w systemie Windows).
ADT ustawia imię i nazwisko w certyfikacie jako „Android Debug”, jednostkę organizacyjną jako „Android”, a dwuliterowy kod kraju jako „US”. Możesz pozostawić wartości organizacji, miasta i stanu jako „Nieznane”. W tym przykładzie użyto 14 000 dni. Możesz użyć dowolnej wartości.
W systemie Vista działało to:
DOS: del c:\user\dad\.android\debug.keystore
ECLIPSE: W projekcie wyczyść projekt. Zamknij Eclipse. Ponownie otwórz Eclipse.
ECLIPSE: Uruchom emulator. Usuń aplikację z emulatora.
Możesz ruszać.
Byłem bardzo zmartwiony, kiedy powiedziałem ten błąd, ale naprawiłem go, czytając tutaj i grając przez około 10 minut.
Usuń: debug.keystore
znajduje się w
C:\Documents and Settings\\[user]\.android
, Oczyść i skompiluj projekt.
C:\Users\[username]\.android
i usuń plik debug.keystore.Oczyść i zbuduj swój projekt.
Usuń swój magazyn kluczy znajdujący się w ~/.android/debug.keystore
Oczyść i skompiluj projekt.
We wszystkich opcjach, jeśli nie możesz uzyskać nowego debug.keystore, po prostu uruchom ponownie eclipse.
Na komputerze Mac otwórz terminal (powinien się otworzyć katalog bieżącego użytkownika), cd „.android” („ls”, aby sprawdzić, czy znajduje się debug.keystore). Wreszcie „rm debug.keystore”, aby usunąć plik.
Zestaw SDK systemu Android generuje dla Ciebie certyfikat podpisywania „debugowania” w magazynie kluczy o nazwie debug.keystore
. Wtyczka Eclipse używa tego certyfikatu do podpisywania każdej generowanej kompilacji aplikacji.
Niestety certyfikat debugowania jest ważny tylko przez 365 dni. Aby wygenerować nowy, musisz usunąć istniejący debug.keystore
plik. Jego lokalizacja zależy od platformy - można go znaleźć w Preferencjach -> Android -> Kompilacja -> * Domyślny magazyn kluczy debugowania.
DOS: del c: \ user \ dad.android \ debug.keystore
Zaćmienie: W projekcie wyczyść projekt. Zamknij Eclipse. Ponownie otwórz Eclipse.
Zaćmienie: Uruchom emulator. Usuń aplikację z emulatora.
Ręcznie usuń debug.keystore
z .android
folderu.
Możesz znaleźć taki .android
folder:home/username/.android
Uwaga: .android
plik domyślny zostanie ukryty.
Więc kliknij menu miejsc. W obszarze wybierz folder domowy. Pod kliknięciem w widoku, pod kliknięciem pokaż ukryte pliki, a następnie .android
folder będzie widoczny.
Usuń debug.keystore
z .android folder
.
Następnie wyczyść swój projekt. Teraz Android wygeneruje nowy .android folder
plik.
Miałem ten problem kilka tygodni temu. Najpierw próbowałem rozwiązać problem na stronie programisty Androida, ale bez powodzenia. Następnie ponownie zainstalowałem zestaw Android SDK, co rozwiązało mój problem.
Hmmm. Ciekawe, jak wiele osób miało z tym nieco inne doświadczenia. Pamiętam dni, w których uznano to za znak, że oprogramowanie nie było gotowe do wydania, a zespół naprawiłby to, ZANIM użytkownicy zaczną widzieć te problemy :(
Moje własne doświadczenie było trochę inne. Próbowałem już Project> Clean, ale nadal mam ten sam błąd kompilacji. Następnie usunąłem debug.keystore (pod .android), tak jak powiedziała pierwsza odpowiedź. Nadal mam ten sam problem. Potem znowu zrobiłem porządek i cuda cudów, zadziałało!
Nie zrozumcie mnie źle, cieszę się, że udało mi się to dzięki wskazówkom w tym wątku. Ale wyraźnie czysty nie działa poprawnie i jak znalazł wygasły klucz po usunięciu magazynu kluczy? Najwyraźniej coś jest nie tak z Eclipse lub ADT - nie jestem pewien, który.
W systemie Ubuntu działało to:
Poszedłem do home/username/.android
i zmieniłem nazwę keystore.debug
na keystoreold.debug
. Następnie zamknąłem Eclipse, uruchomiłem Eclipse, a SDK utworzył nowy certyfikat keystore.debug
w tym folderze.
Następnie musisz odinstalować / ponownie zainstalować aplikacje zainstalowane przez debugowanie USB lub niepodpisany APK („niepodpisany” APK = podpisany certyfikatem debugowania).
W przypadku systemu Windows XP przejdź do pliku debug.keystoreC:\Documents and Settings\%userprofile%\.android
i usuń go , uruchom ponownie środowisko Eclipse, a teraz projekt zostanie skompilowany bez błędów.
Przykładowa ścieżka:
C:\Documents and Settings\raja.ap\.android\
W systemie Windows debug.keystore
plik localtes jest w C:\Users\%Username%\.android
folderze. Ten plik jest tworzony podczas instalacji zestawu Android SDK i jest ważny tylko przez rok. Po tym perodzie zaczniesz otrzymywać ten błąd Error getting final archive: Debug certificate expired on xx/xx/xxxx
.
Aby usunąć ten błąd, po prostu usuń plik i ponownie uruchom program. W moim Eclipse włączyłem, Project->Build Automatically
więc działało bezpośrednio, ale jeśli go wyłączyłeś, musisz wyczyścić projekt Project->Clean
. Wybierz projekt i naciśnij OK. Następnie musisz zbudować go ręcznie. 3. kliknij swój projekt i wybierz Build project
. (Uwaga - tę opcję zobaczysz tylko wtedy, gdy w menu Projektów została wyłączona funkcja Automatycznie buduj)
Najpierw zamknij zaćmienie
Otwórz CMD za pomocą klawisza Windows + R lub przez Uruchom jako administrator
Wykonuje następujący krok
del "%USERPROFILE%\.android\debug.keystore"
keytool -genkey -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 30000
po tym zrestartuj zaćmienie.
Po zainstalowaniu Android SDK in Eclipse
generuje dla Ciebie certyfikat podpisywania debugowania w magazynie kluczy o nazwie debug.keystore . Wtyczka Eclipse używa tego certyfikatu do podpisywania każdej generowanej kompilacji aplikacji.
Problem z tym certyfikatem debugowania polega na tym, że jest on ważny tylko przez rok lub 365 dni. If your Eclipse IDE uses an expired debug certificate, you will not be able to create and/or deploy an Android app
.
Aby rozwiązać ten problem, wystarczy usunąć plik debug.keystore .
Go to Preferences
Android
Build
Default debug keystore
Tam powinieneś zobaczyć folder, w którym znajduje się plik. Po prostu usuń ten plik i możesz zacząć.
Po więcej informacji. możesz odwiedzić
http://developer.android.com/tools/publishing/app-signing.html
Aby rozwiązać ten problem, wystarczy usunąć plik debug.keystore.
Domyślna lokalizacja przechowywania dla AVD to
W ~ / .android / na OS X i Linux.
W C: \ Documents and Settings \ .android \ w systemie Windows XP
W C: \ Users \ .android \ w systemie Windows Vista i Windows 7.
Zobacz także ten link, który może być pomocny.
http://developer.android.com/tools/publishing/app-signing.html