Kiedy pisałem to pytanie, udało mi się je rozwiązać, więc powtórz je tutaj dla dobra innych. Oto pierwszy problem:
Stworzyłem bardzo prosty projekt biblioteki, do którego chcę się odwołać w innym projekcie. Zrobiłem to wcześniej bez żadnych problemów, więc nie jestem pewien, dlaczego tym razem nie działa. Mam:
Oznaczył projekt biblioteki za pomocą właściwości projektu.
default.properties
Plik ma ten zestaw:android.library=true
W moim innym projekcie dodano odniesienie do mojego projektu biblioteki za pośrednictwem właściwości projektu.
default.properties
Plik został dodany jako odniesienie oczekiwanego IEandroid.library.reference.1=K:/android_test_ws/applicationRegistrar
Zielony znacznik przy projekcie biblioteki, do którego istnieje odniesienie, zaczyna się od zielonego, a następnie zmienia się w czerwony krzyżyk.
Oznacza to, że w projekcie biblioteki musi być coś nie tak / czegoś brakuje, ale nie wiem co. Mój projekt biblioteczny przy tej okazji jest DUŻO prostszy niż poprzedni, który stworzyłem.
Odpowiedzi:
OK Oto rozwiązanie, które znalazłem, szukając pliku default.properies projektu odwołującego się (nie biblioteki) w moim systemie plików. Chociaż projekt odniesienia znajdował się w tym samym obszarze roboczym zaćmienia co projekt biblioteki, rzeczywiste pliki znajdowały się w innym miejscu w systemie plików, tj. Nie znajdowały się w tym samym folderze nadrzędnym projektu biblioteki. Gdy tylko umieściłem projekt odniesienia w tym samym folderze fizycznym, co projekt biblioteki, wszystko poszło dobrze.
Wydaje mi się, że to musi mieć coś wspólnego z androidem używającym mrówki pod osłonami.
Edycja: nazwa projektu musi odpowiadać nazwie folderu w systemie plików. To, co widzisz w Project Properties-> Android-> Library Reference, jest względną ścieżką systemu plików.
źródło
Upewnij się, że oba projekty znajdują się w tym samym miejscu pracy. Aby to zrobić, podczas importu projektów upewnij się, że pole wyboru „kopiuj projekt do przestrzeni roboczej” jest zaznaczone.
źródło
ten sam problem wystąpi, jeśli projekt biblioteki znajduje się na innej partycji niż bieżący obszar roboczy. Mam teraz ten sam problem. Moje źródło git znajduje się w C: i po prostu przenoszę obszar roboczy do D: i wszystko zaczyna się zawalać.
źródło
Najprostszym sposobem uzyskania poprawnych ścieżek do bibliotek jest użycie interfejsu GUI z Eclipse w celu dodania biblioteki, jak pokazano na poniższym zrzucie ekranu, i pozwolenie Eclipse na umieszczenie poprawnych ścieżek względnych w project.properties. Jest to typowa konfiguracja, w której projekty biblioteki są hostowane w katalogach znacznie różniących się od głównych projektów korzystających z biblioteki. Ta metoda zadziała, jeśli „projekt libary” i projekt, który go używa, znajdują się w tym samym „obszarze roboczym” Eclipse („nie muszą” znajdować się w tym samym folderze nadrzędnym):
źródło
Upewnij się, że projekt biblioteki jest oznaczony jako „Jest biblioteką” - kliknij prawym przyciskiem myszy projekt biblioteki - właściwości - Android - zaznacz pole wyboru „Jest biblioteką” - w projekcie projektu.properties projektu biblioteki powinieneś mieć nowy wpis: „android .library = true. Teraz dodaj go do projektu, który chcesz, jak opisano w poście poniżej. (post ze zintegrowanym obrazem - od Nilesh Pawar).
źródło
Ten błąd jest wymieniany kilka razy tutaj 27199 , 35786 , 36460 i 38052
Może głosując na nich, zostanie to kiedyś naprawione ...
źródło
Jeszcze jedna uwaga na ten sam temat.
Dla mnie te dwa projekty znajdowały się w tym samym folderze nadrzędnym i oba znajdowały się lokalnie w obszarze roboczym. Nawet wtedy problem nadal występował.
Edytowałem plik „project.properties” i wstawiłem ścieżkę bezwzględną (z ukośnikami „/” oznaczającymi separator) projektu biblioteki. Zapisałem i zamknąłem. Następnie udałem się do okna dialogowego właściwości projektu, usunąłem bibliotekę (która nadal wyświetlała ikonę krzyżyka, ale ze ścieżką abs) i dodałem ją jak zwykle. Zaskakująco problem został rozwiązany, a projekt kompiluje się i uruchamia.
To jest naprawdę dziwne i musi być błędem w ADT. Używam ADT w wersji 20.0.2
źródło
kiedy programista odwołuje się do facebooka lub innego projektu biblioteki, najpierw wyczyść projekt z eclipse-> project-> clean project. które chcą pozwolić na błąd czerwonego krzyża na ekranie odniesienia.
źródło
U mnie po prostu ponownie uruchamiam zaćmienie i dodana biblioteka działa dobrze.
Mam na myśli to, że pierwszy raz pokazuje czerwone znaki po dodaniu projektu biblioteki. Chociaż projekt główny i projekt biblioteki eclipse znajdują się w tym samym folderze obszaru roboczego i żadne pliki zasobów nie znajdują się poza folderem projektu.
Możesz więc spróbować ponownie uruchomić zaćmienie. Miłego kodowania ...
źródło
Obejściem dla mnie było
rozwiązał mój problem
źródło
Miałem ten sam problem, kiedy próbowałem zmienić obszar roboczy, więc oto moje rozwiązanie:
źródło
Po prostu uruchom ponownie zaćmienie. To rozwiązuje mój problem
źródło
Kiedy spojrzysz na ścieżkę odniesienia przed i po, pochodzi ona z np. „C: / workspace / mylib” i przechodzi do „../../mylib” po skopiowaniu do właściwej lokalizacji, całkiem interesujące.
źródło
FYI,
Udało mi się usunąć projekty „biblioteki” (rzeczywiste projekty) z mojego obszaru roboczego (bez usuwania plików), a następnie ponownie zaimportować je za pomocą kreatora (zaimportować istniejący projekt Androida z kodu źródłowego).
źródło
Dzięki za zadanie pytania. Dokładnie ten sam problem miałem podczas integracji Facebooka z moją aplikacją na Androida. Rozwiązałem problem, przenosząc projekt programistyczny na ten sam dysk systemu Windows, na którym znajdował się projekt biblioteki. Z jakiegoś powodu Eclipse nie może poprawnie odczytać lokalizacji projektu biblioteki z pliku default.properties , jeśli znajduje się on na innym dysku.
źródło
Podobnie jak w poście Sufi Khana, rozwiązałem ten problem poprzez ponowne uruchomienie. Mój przypadek różnił się tym, że kiedy po raz pierwszy uzyskałem dostęp do Właściwości-> Android i dodałem bibliotekę, dostałem piękny zielony znacznik wyboru. Kiedy zamknąłem okno dialogowe, Eclipse nadal pokazywał błędy typu nie znaleziono klasy. Kiedy ponownie sprawdziłem właściwości, zobaczyłem czerwony znak X. Ale rozwiązanie pana Kahna (usuń złą bibliotekę, uruchom ponownie Eclipse, dodaj ponownie bibliotekę) działało dobrze.
Używam wersji 0702 pakietu ADT (zaczyna się od „klaster”, rymuje się z „kaczką”).
źródło
Postąpiłem zgodnie z zaakceptowaną odpowiedzią, ale musiałem też upewnić się, że mój plik „project.properties” jest czytelny.
Jeśli plik jest tylko do odczytu (wpisany do kontroli źródła), eclipse nie będzie go edytować. Dodanie odwołania do biblioteki powiedzie się, ale zmiana nie zostanie utrwalona po naciśnięciu przycisku OK.
Jeśli zamknięcie okna preferencji i ponowne otwarcie powoduje usunięcie właśnie dodanej biblioteki, może to być rozwiązanie.
źródło
W przypadku, gdy projekt biblioteki nadal się nie wyświetla, spróbuj dodać flagę biblioteki we właściwościach projektu biblioteki
Dodaj android.library = true
project.properties
źródło