Twój projekt zawiera błędy, napraw je przed uruchomieniem

187

Tworzę prostą aplikację na Androida. Ale kiedy uruchamiam Eclipse, wyświetla następujący błąd:

Twój projekt zawiera błędy, napraw je przed uruchomieniem.

Nie mogę znaleźć żadnego błędu w moim projekcie lub nie ma błędu w mojej aplikacji. Pod nazwą aplikacji znajduje się czerwony krzyżyk, ale nie ma innej nazwy pliku.

Czy ktoś jeszcze ma taki problem?

JackeyChan
źródło
Niestety żaden z nich nie działał dla mnie ... Tworzenie nowych projektów i usuwanie .android ... nie działało. Najwyraźniej Eclipse straciło trochę ustawień i odmawia uruchomienia nowego projektu Java lub Androida
JPM
3
Zawsze patrz w panel „Marker”. Błędy są tam podsumowane.
Thorbjørn Ravn Andersen

Odpowiedzi:

220

Zwykle wynika to z błędów na ścieżce kompilacji.

Jeśli używasz Eclipse, możesz dodać widok, który zawiera listę wszystkich błędów o nazwie „Problemy”:

wprowadź opis zdjęcia tutaj

W przeciwnym razie możesz spróbować wyczyścić projekt, co zwykle rozwiązuje kilka problemów.

Wreszcie, jeśli dodasz lub zmienisz zasoby spoza swojego IDE, będziesz chciał ponownie załadować zasoby i wyczyścić.

EDYCJA (komentarz anonimowego użytkownika)

Może to być również spowodowane nieaktualnym „Certyfikatem debugowania”, który został naprawiony w następujący sposób:

JEŚLI WSZYSTKIE USTERKI NIŻ TO GOTTA BĘDZIE ROZWIĄZANIEM:

Usuń swój certyfikat debugowania w ~/.android/debug.keystore(na 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.

Jest to także kolejna poprawka dla „setContentView (R.layout.main);” błąd, który mówi, że nie można znaleźć R.layout.main, gdy jest faktycznie generowany. (R nie może być rozdzielone na zmienną).

Jest to także kolejna poprawka błędu „Twój projekt zawiera błędy ...” i nie możesz go znaleźć. Czyszczenie i przebudowa są nadal konieczne po wygenerowaniu nowego certyfikatu debugowania.

Jason Rogers
źródło
5
Ważne jest, aby zrozumieć, że problemy nie zawsze będą zgłaszane względem pliku kodu źródłowego o numerze linii. Problemy z całym projektem, takie jak problemy ze ścieżką kompilacji, zostaną dołączone na poziomie projektu. Tekst problemu nie będzie widoczny nigdzie indziej niż w widoku Problemy.
Konstantin Komissarchik,
6
wygasły klucz do debugowania zwykle wprowadza mnie każdego roku. naprawdę powinienem umieścić przypomnienie w moim kalendarzu czy coś takiego.
Harlo Holmes,
Naprawia ten sam błąd, przynajmniej czerwony x zniknął z nazwy projektu. Dzięki ... świetna pomoc
wocmultimedia 18.04. O
2
Wygasł klucz debugowania - to proste :) Dzięki
bajtów
jak czyścisz i odbudowujesz?
Ian Davis,
35

Najpierw przejdź do Okno -> Pokaż widok -> Dzienniki błędów w menu. Wyświetli dzienniki błędów, jeśli takie masz. Następnie spróbuj wyczyścić projekt i skompiluj go ponownie.

chikka.anddev
źródło
Zasadniczo dobrym pomysłem jest pozostawienie tego widoku błędów, a także próba naprawienia wyświetlanych ostrzeżeń.
Heiko Rupp
3
Widok dziennika błędów pokazuje nieprawidłowe działanie wtyczek Eclipse. Jest to przydatne do zgłaszania problemów, ale wpisy nie będą wskazywać na problem w kodzie aplikacji użytkownika. Do tego chcesz widok Problemy.
Konstantin Komissarchik,
1
Mam podobny problem (ale z NDK / C ++). Moje projekty NDK + na Androida kompilują się pomyślnie, ale Eclipse nie pozwala na uruchomienie / debugowanie. Mam błąd na #include <list> (nie dodałem ścieżki STL do zasobów i nie chcę tego robić). Jak to możliwe, czy istnieje opcja, aby to wyłączyć? Chcę zobaczyć te nie tak naprawdę „błędy”, ale chcę uruchomić aplikację (która NIE zawiera żadnych błędów kompilacji / łącza).
Krystian Bigaj
dla mnie problemem był certyfikat debugowania. Pomocna była także sugestia otwarcia okien „problemów”. Patrzyłem w oknie „błędów”, które niczego nie pokazywało.
user590849
Wystąpił ten błąd w dzienniku błędów: Błąd podczas generowania końcowego archiwum: Nie można uzyskać klucza podpisu debugowania.
Pratik Butani,
13

W moim przypadku niektóre biblioteki zostały zaadresowane dwukrotnie w:

Projekt >> Właściwości >> Ścieżka kompilacji Java >> Biblioteki

Po prostu musiałem usunąć duplikat i działało dobrze bez żadnych czyszczenia ani odświeżania.

Mahorad
źródło
Odznacz pliki jar z Projektu >> Właściwości >> Ścieżka kompilacji Java >> zakładka Zamówienia i eksport
Ajay Takur
W przypadku OSTROŻNIE Symbol błędu! pokaż w projekcie. Rozwiązałem następujące kroki projekt >> właściwości >> Ścieżka budowania Java w lewym panelu i wybranie bibliotek w prawym panelu (3 kolumny) plik jar jest błąd. Wystarczy dodać plik JAR w tym samym folderze libs projektu w wyskakującym okienku. usuń błędny plik lib. Mi to pasuje.
gnganpath,
10

Widziałem to z istniejącym projektem. Wprowadziłem kilka zmian, ale nie zaimportowałem niczego nowego. Ponowne uruchomienie Eclipse nie pomogło.

Project->Clean rozwiązał problem.

Potężny
źródło
6

Często napotykam ten błąd, gdy importuję nowy projekt do mojego obszaru roboczego.

Powód : Niektóre niezbędne pliki (jakR.Java) nie są generowane w odpowiednich pakietach.

Wylecz : Czyść i buduj projekty, wszystkie pliki, które muszą zostać wygenerowane automatycznie, będą tam na miejscu po zbudowaniu projektu.

Powodzenia.

Prasham
źródło
5

To mi się przydarzyło. Po sformatowaniu mojego systemu,
kiedy importuję projekt, wyświetla ten sam błąd

usuń pierwszy plik debug.keystore, a następnie goto -

Projekt -> Właściwości projektu -> wybierz bibliotekę -> usuń -> dodaj ponownie biblioteki.

Działa dla mnie ......

użytkownik3209435
źródło
4

Przejdź do menu projektów, kliknij czysty element menu.

Następnie zamknij zaćmienie, otwórz ponownie i spróbuj skompilować.

Jest to usterka oprogramowania, którą można znaleźć czasami.

Vinay
źródło
4

może się również zdarzyć, jeśli przeniesiesz wymagane pliki. Wystarczy sprawdzić Widok problemów (menu window -> show view -> Problems) zgodnie z opisem tutaj

Filippo Mazza
źródło
3

Miałem dokładnie ten sam problem. Jednym z rozwiązań, które zadziałałoby, byłoby stworzenie zupełnie nowego projektu, ale nie sądzę, żeby to było potrzebne. Dla mnie problem polegał na tym, że wygasł certyfikat debugowania, który jest automatycznie generowany. Usunięcie tego pliku pozwoliło Eclipse na odbudowanie tego pliku, co rozwiązało problem. Nie można uruchomić aplikacji z nieprawidłowym certyfikatem, niezależnie od tego, czy jest to certyfikat debugowania, czy wydania. Pamiętaj, że czyszczenie mojego projektu nie działa. Aby uzyskać więcej informacji, zobacz: „Błąd debugowania certyfikatu wygasł” we wtyczkach Eclipse dla systemu Android

Michael
źródło
Nie jesteś sam, patrz także: stackoverflow.com/questions/8467835/…
Asmo Soinio
3

Ostatnio natknąłem się na ten błąd. Byłem naprawdę w kącie bez pomocy, a potem to rozgryzłem. Ten błąd może wystąpić z następujących powodów:

  • Błąd w kodzie projektu
  • Nieprawidłowe połączenie zewnętrznych plików bibliotek z projektem
  • Najważniejsze: jeśli plik debug.keystore wygasł.

Pierwsze 2 przypadki są łatwe do zidentyfikowania, ale trzeci jest jak przeszukiwanie czarnej skrzynki w ciemnym pokoju.

Oprócz projektu -> Wyczyść, usuń również plik debug.keystore.

Używam Mac + Eclipse, więc aby usunąć, napisałem polecenie rm ~/.android/.debug.keystorew terminalu.

Nikesh K.
źródło
3

Czy istnieje sposób na zignorowanie istniejących błędów w projekcie. Coś podobnego, co pozwala zaćmienie w przypadku projektów Java.

W moim przypadku błędy istnieją w katalogu jni. Błędy są wyświetlane, mimo że ndk-buid się powiedzie. Więc wszystko, co chcę zrobić, to zignorować błędy zgłaszane przez eclipse.

Jeśli błędy są rzeczywiście błędami, powinienem otrzymać nierozwiązane symbole podczas kompilacji ndk.

Zapewniłem, że standardowe dołączenia Androida są w ścieżce dołączania.

Również mój projekt jest typu android / c / c ++.

Mam dwa konstruktory powiązane z projektem 1. statndard android builder 2. niestandardowy konstruktor ndk, który jawnie utworzyłem.

sharadendu sinha
źródło
( eclipse.org/forums/index.php/t/274600 ) Przejdź do Window-> Preferencje-> C / C ++ -> Analiza kodu i odznacz fałszywe ostrzeżenia.
bartolo-otrit
2

Symuluj swój błąd w klasie. Następnie zapisz go, a pokaże więcej błędów niż symulowałeś. Dla mnie to był niepoprawny import i to pomogło.

Chłopiec z ulicy
źródło
2

Miałem podobny problem.

W zakładce „problemy” znalazłem błąd „Błąd generowania ostatecznego archiwum: certyfikat debugowania wygasł w dniu 2/22/12 1:49 PM

Dlatego radzę zajrzeć do zakładki Problemy, aby uzyskać więcej informacji.

PA

Massimo Nicolardi
źródło
1

Jeśli żadne z powyższych rozwiązań nie działa, powinieneś sprawdzić READ ONLYwłaściwość folderu Project, jeśli jest on tylko do odczytu, kompilator nie będzie w stanie zastąpić zasobów, R.java i innych plików dex APK itp., A zatem tak się stanie .. Przydarzyło mi się to i naprawiłem po długiej walce .. Happy Programming.

Pervez Alam
źródło
1

Z jakiegoś powodu zaćmienie pokazało tylko! błąd w katalogu głównym i nie określono, jaki to błąd. Przejdź do systemu Windows -> Pokaż widoki -> Problemy. Możesz tam znaleźć wszystkie poprzednie błędy, usunąć je, wykonać czystą kompilację i skompilować ponownie. Zobaczysz dokładne błędy.

Zaćmienie pokazuje błąd w projekcie Android, ale może go znaleźć

Hemanshu
źródło
1

Miałem właśnie ten problem podczas próby uruchomienia aplikacji Doodlz z książki Android for Programmers na Mac OS X z Eclipse Juno .

Po pobraniu i rozpakowaniu wersji demo z książki zapomniałem zmienić uprawnienia do plików. W moim systemie były tylko do odczytu, więc to był pierwszy numer .

Drugi problem został rozwiązany, wybierając cel kompilacji w Eclipse. Zostało to naprawione poprzez przejście do: Projekt> Właściwości i kliknięcie pola Android na lewym panelu, aby móc wybrać jedną opcję jako Cel kompilacji projektu , który w moim przypadku to:

  Target Name     Vendor         Platform    API Level
> Google APIs     Google Inc.    4.0.3       15

Następnie czyszczenie i przebudowa projektu nie wykazały żadnych błędów.

Na koniec, aby uruchomić aplikację, kliknij pakiet prawym przyciskiem myszy (na karcie Eksplorator pakietów), a następnie wybierz: Uruchom jako> Aplikacja na Androida

karlphillip
źródło
1

Po prostu usunąłem mój certyfikat debugowania ~/.android/debug.keystorei Project->Cleanrozwiązałem problem.

Shylendra Madda
źródło
0

Usuń folder .android ze swoich Dokumentów i ustawień \ Użytkownik \ na XP i \ Użytkownik \ na Win7. Ponownie uruchom AVD i utwórz nowy projekt.

2ndlife
źródło
0

To, co spowodowało ten problem, nie było żadnym z powyższych, ale po prostu pozostawiłem atrybut „debuggable” na false w pliku manifest.xml po wykonaniu wydania. Nie!

Oczywiście ani okno LogCat, dziennik błędów, konsola ani problemy nie ostrzegały mnie o tym ..

Ben Clayton
źródło
0

Miałem ten sam błąd, kiedy kopiowałem projekt na inny komputer.

Następnie sprawdziłem wszystkie właściwości projektu na obu komputerach, a jedyną różnicą była kolejność elementów w ścieżce budowania Java - zakładka Kolejność i eksport.

Przeniosłem elementy Android XXX i Android Dependencies nad pozostałe 2 na liście (w moim przypadku foldery src i gen) i voila, to znowu zadziałało!

Nie jestem do końca pewien, czy problemem była inna kolejność, ale przynajmniej jej zmiana (i ponowne zapisanie właściwości) wydawała się pomóc ...

Dylan
źródło
0

Miałem dokładnie ten sam problem po aktualizacji SDK i ADT. Mój problem został rozwiązany przez usunięcie folderu .android (ukryty) w obszarzeC:\Users\USERNAME\

Freddroid
źródło
0

Zdarzyło mi się to, kiedy eksperymentowałem z Maven.

Kliknij prawym przyciskiem myszy projekt -> Maven -> wyłącz naturę maven rozwiązał problem.

Vasudev
źródło
0

Tak, to dość tajemnicza wiadomość. Jeśli masz wadliwy projekt (powiedzmy nad którym pracowałeś w przeszłości), dostaniesz ten komunikat (i żadnych komunikatów w okienkach problemów / błędów w bieżącym projekcie).

Możesz po prostu uruchomić bieżący projekt. To może być idealnie w porządku. Wystarczy kliknąć strzałkę w dół po prawej stronie przycisku Uruchom, aby wybrać projekt.

Snowcrash
źródło
0

Spróbuj zmienić swój obszar roboczy. Nie jestem pewien, czy to jest dokładne rozwiązanie. Przez jakiś czas miałem do czynienia z tym samym problemem, dopóki nie zmieniłem obszaru roboczego.

SajidKhan
źródło
0

W moim przypadku dzieje się tak z ADT 22.

Nie chcę tworzyć działania.

Po usunięciu „appcompat_v7” jako projektu biblioteki. Ja pracuje

Yeung
źródło
0

Miałem podobny problem, w którym nie mogłem uruchomić projektu, ale nie zauważyłem żadnych problemów w kodzie. W panelu dziennika błędów było napisane coś takiego: „Nie można dodać P / do listy segmentów P / jako rodzic”. Ponowne uruchomienie Eclipse rozwiązało problem.

Luboš Staráček
źródło