2010-10-15 12 views
6

Wykonałem instrukcje podane w the Android Developer Blog, aby wygenerować plik build.xml dla wydania budynku dla aplikacji systemu Android. Muszę wykonać niestandardową kompilację, więc nadpisałem docelową kompilację ant_rules_r3.xml, jak to jest powiedziane w wygenerowanym pliku build.xml.Pomiń sprawdzanie poprawności Eclipse pliku build.xml

<target name="compile" depends="-resource-src, -aidl, -pre-compile" ... 

Skrypt działa poprawnie i generuje apk, ale problemem jest to, że Eclipse pokazuje błąd, ponieważ nie można znaleźć cele -resource-src, -aidl i -pre-compile (które są ładowane podczas wykonywania skryptu, ale tak naprawdę nie są obecne na build.xml). Ponieważ są te błędy, nie mogę pracować z projektem w Eclipse.

Jak mogę pominąć sprawdzanie poprawności tego pojedynczego pliku w Eclipse?

Odpowiedz

8

Nie wiem, czy można to zrobić dla pojedynczego pliku, ale myślę, że można wyłączyć sprawdzanie poprawności w ramach preferencji środowiska Eclipse w obszarze Sprawdzanie poprawności.

+0

To nie rozwiązuje problemu. Zawiesiłem wszystkie walidatory w sekcji Sprawdzanie poprawności i wyczyściłem projekt, ale błędy nadal istnieją. Być może te błędy nie pochodzą z walidatora. Eclipse nazywa ten błąd "Problemem Ant BuildFile". – Javi

+8

Co powiesz na to: w preferencjach Ant -> Edytor w zakładce Problemy "Ignoruj ​​wszystkie problemy z plikiem kompilacji"? Możesz tam też ustawić konkretny plik, jeśli się nie mylę. – kukudas

+0

dziękuję, że pracował – Javi

1

Rozwiązanie firmy Kukudas polegające na "Ignorowaniu wszystkich problemów z plikiem kompilacji" rozwiązuje problem root.

Jednak Eclipse nadal będzie wykrywał plik buidl.xml jako uszkodzony i uniemożliwi twórcom Ant wywoływanie pliku. W rzeczywistości Eclipse po cichu zignoruje takie kroki budowania w twoim projekcie, jakby ich tam nie było.

+0

Ten skrypt ant służy tylko do zbudowania projektu poza zaćmieniem. Chcę, aby to zaćmienie to ignorowało, to tylko alternatywa dla generacji Eclipse. – Javi

+0

To jest problem w moim projekcie, w którym używam zadania Ant (w obu systemach kompilacji), aby zapełnić niektóre stałe i zasoby podczas niektórych celów kompilacji. – Anm

7

Kolejne obejście (mniej drastyczne niż wyłączenie sprawdzania poprawności/zgłaszania problemów): Przejdź do okna-> preferencje-> Mrówka-> zakładka Problemy. Dodaj "build.xml" do listy ignorowanych ...

+0

Dla mnie był to Ant -> Preferencje -> Redaktor -> Zakładka Problemów – Sam

0

Znalazłem znacznie lepsze rozwiązanie problemu zaćmienia, nie znajdując celów kompilacji z zaimportowanych/uwzględnionych projektów. Przede wszystkim uaktualnij do r14 sdk. Wersja 14 używa tylko pliku build.xml z katalogu $ {sdk.dir}/tools/ant

U dołu pliku build.xml w ramach własnego projektu zobaczysz instrukcję importu, która wygląda jak to:

<import file="${sdk.dir}/tools/ant/build.xml"/> 

Zmień to stwierdzenie do

<import file="${sdk.dir}/tools/ant/build.xml" as="androidbuild" /> 

Następnie z projektem, można odwołać tych bramkę

<target name="compile" depends="androidbuild.-resource-src, androidbuild.-aidl, androidbuild.-pre-compile" /> 

Zauważ również, że teraz mają wstępnie kompilowane/wstępnie kompilowane zadania, które zostaną wywołane przed kompilacją. (sprawdź pełny plik build.xml, aby zobaczyć dokładnie, kiedy są wywoływane). Możesz użyć ich jako hooków do wykonania pracy przed kompilacją bez przesłonięcia oryginalnych zadań.

+0

Niestety to nie działało dla mnie. Byłoby to czyste rozwiązanie. – Steve

+0

to działa, używam tej metody od około roku bez problemów. –

+0

w rzeczywistości jest możliwe, że cele do budowania nadrzędnego są ukryte i nie można się do nich odwoływać. Jeśli używasz nie ukrytych targów (zaczynając od myślnika, to na pewno działa). Będę musiał przetestować to specjalnie, ponieważ odwołuję się tylko do wydania i czyszczenia celów macierzystego pliku kompilacji. –

1

znalazłem 2 rozwiązania, które pracują dla mnie:

1 - rozwiązanie z kukudas powyżej:

Jak o tym: w preferencjach ant -> edytor w zakładce Problems „ignorować wszystkie buildfile problemy "? Możesz ustawić tam także konkretny plik , jeśli się nie mylę. - kukudas 15 października '10 na 10:28

Chociaż to działa, to rozwiązanie jest specyficzny obszar roboczy i może być dość uciążliwe, jeśli użytkownik chce zachować Ant walidacji na kilka plików, ale zignorować dużej liczby plików.

2 - Eclipse wydaje się sprawdzać pliki ant tylko wtedy, gdy są otwarte w edytorze. Dlatego inne rozwiązanie polega na tym, że nigdy nie otwierasz plików ant, które nie powinny być sprawdzane za pomocą środowiska Eclipse. Udało mi się pozbyć ostrzeżeń, wykonując kopię zapasową pliku - usuń-przywróć.

Idealnie sprawdzanie poprawności mrówek powinno odbywać się tak samo, jak wszystkie inne sprawdzanie poprawności XML, aby można było je skonfigurować na poziomie projektu.

Powiązane problemy