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.keystorew systemie Linux i Mac OS X ; katalog jest podobny %USERPROFILE%/.androiddo 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 debugcertyfikat 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.keystoreplik. 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.keystorez dowolnym terminem ważności. Zrób to w .androidfolderze w swoim HOMEkatalogu:
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
keytool.exemoż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]\.androidi usuń plik debug.keystore.Oczyść i zbuduj swój projekt.
Usuń swój magazyn kluczy znajdujący się w ~/.android/debug.keystoreOczyść 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.keystoreplik. 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.keystorez .androidfolderu.
Możesz znaleźć taki .androidfolder:home/username/.android
Uwaga: .androidplik 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 .androidfolder będzie widoczny.
Usuń debug.keystorez .android folder.
Następnie wyczyść swój projekt. Teraz Android wygeneruje nowy .android folderplik.
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/.androidi zmieniłem nazwę keystore.debugna keystoreold.debug. Następnie zamknąłem Eclipse, uruchomiłem Eclipse, a SDK utworzył nowy certyfikat keystore.debugw 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.keystoreplik localtes jest w C:\Users\%Username%\.androidfolderze. 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 Automaticallywię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 Eclipsegeneruje 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 PreferencesAndroidBuildDefault debug keystoreTam 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