2012-02-15 13 views
6

Czy istnieje sposób, aby wykluczyć określone pliki z folderu/res z przetwarzania przez program budujący Androida?Jak wykluczyć pliki z folderu "/ res" projektu Android Eclipse

Mam kilka projektów Android, które buduję przy użyciu Eclipse. Przesłałem te projekty w naszym systemie kontroli wersji. Problem polega na tym, że wersja control dodaje do każdego folderu jakiś plik "project.pj".

Z powodu tych plików project.pj moje projekty nie będą już budowane w środowisku Eclipse. Dostaję błędy, ponieważ budowniczy próbuje przetwarzać te pliki w/res. Wiem, że mogę wykluczyć te pliki dla folderów/src i/gen, ale jak mogę je wykluczyć dla folderów/res (i/assets)?

Odpowiedz

2

aapt to program, który przetwarza pliki w res /. Nie ma sposobu, aby powiedzieć, aby zignorować pewne pliki. Krótka odpowiedź: nie możesz. Twoje VCS jest słabo dostosowane do projektów Androida. Słyszałeś o Git?

To powiedziawszy, twój system kompilacji może zostać rozszerzony, aby usunąć niechciane pliki z drogi, uruchomić aapt, a następnie przenieść je z powrotem. Podczas korzystania z Eclipse, osiągnięcie tego oznacza hackowanie wtyczki Androida, aby dodać te dodatkowe czynności. A może pisanie własnej wtyczki, która wykonuje te kroki w związku z wywołaniem wtyczki do Androida - nigdy nie włamałem się do Eclipse i nie chciałem. Aby mieć jakikolwiek inny system kompilacji (na przykład używając maven, ant, lub make, lub scripts), to jest tak proste, jak zrozumienie, jak ten system robi cokolwiek. Eclipse to tylko way more involved. Jako ostatnią opcję możesz napisać własne skrypty w katalogu projektu, które przenoszą te pliki .pj, i uruchamiać te skrypty we właściwym czasie, bez otrzymywania pomocy od Eclipse.

+0

Dziękujemy za wyjaśnienie! Zgadzam się, że kontrola wersji mojej firmy nie jest odpowiednia dla projektów Android. Niestety, nie mogę powiedzieć mojej firmie, aby przeszła na GIT tylko dla mojego projektu. = p Myślę, że po prostu używam własnego skryptu do budowania mrówek do budowania moich aplikacji. Jeszcze raz dziękuję! – rainai

+4

@rainai, Właśnie zauważyłem to: 'aapt' pomija pliki, które zaczynają się od kropki (". "), Które są traktowane jako ukryte przez niektóre polecenia Uniksa. Możesz więc tymczasowo zmienić nazwy plików "project.pj" na ".project.pj", co jest jeszcze łatwiejsze. –

+0

@rainai, również, chociaż doceniam twoje podziękowania, proszę [zaakceptuj moją odpowiedź] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). –

0

Użyj mrówki do kontrolowania procesu kompilacji, kompilowania.

+0

Dzięki za sugestię. Spróbuję stworzyć własny skrypt do budowy Anta. – rainai

6

Jeśli przedrostkiem nazwy pliku jest kropka (.), będzie ona ukryta przed środowiskiem Eclipse i nie będzie uwzględniona w kompilacji.

Jeśli korzystasz z komputera z systemem Windows, nadal będziesz mógł zobaczyć je bez problemu w Eksploratorze. Jeśli używasz komputera Mac, musisz się upewnić, że ukryte pliki zostaną ujawnione, jeśli kiedykolwiek zechcesz go znaleźć.

3

W rzeczywistości istnieje kilka sposobów, aby aapt zignorować takie zasoby.

Jednym z takich sposobów jest wywołanie polecenia --ignore-assets do wiersza poleceń, jeśli możesz to zmienić (być może w pliku build.xml, jeśli jest używany).

możesz również użyć aapt.ignore.assets= w swoich właściwościach ant., Jeśli masz to.

Powiązane problemy