Mam projekt z połączonym folderem źródłowym. Ten projekt zależy od innego projektu (usługa zdalna), więc pliki helpl i klasy przekazywane przez interfejs zdalny znajdują się w połączonym folderze common_src
współużytkowanym między dwoma projektami. Działa to dobrze z kompilacjami Eclipse, (jeden plik źródłowy, dwa projekty, zmiany w jednym projekcie są odzwierciedlone w drugim, tak jak powinno być).Aplikacja Android Ant zbudowana na projekcie z dwoma folderami źródłowymi
Chciałbym teraz zrobić kompilację Ant z wiersza poleceń. Udało mi się zdobyć kolejny projekt z pojedynczym katalogiem src na wszystkich obiektach docelowych, korzystając z narzędzia build.xml
z narzędzi SDK. Automatycznie importuje ant_rules_r3.xml
, a gdy source.dir
i out.dir
są zdefiniowane w build.properties
, to wszystko jest dość bezbolesne.
Przechodząc do projektu z folderami src
i common_src
, nie mogę go skompilować. Najpierw wycinam i wklejam cel kompilacji i wszystkie te, od których zależy, do zadania konfiguracyjnego. Dodałem i określony element common_src
do build.properties
i dodaje ostatnią linię pokazaną poniżej na -compile target
(skopiowany z ant_rules_r3.xml
) do build xml
:
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<src path="${common_src}" /><!--ADDED-->
który dostał go w dalszej części procesu budowania - może to znaleźć Pliki .java w common_src, ale nie pliki .aidl. Nic dziwnego, zdałem sobie sprawę, ponieważ pomoc jest oddzielnym celem. I dodaje
<src path="${common_src}" />
do -aidl celu w kompilacji xml, a nie powiodło się:
BUILD FAILED
C:\dev\projects\Eclipse\AndroidWorkspace\MapProject\build.xml:77: aidl doesn't
support the nested "src" element.
Tak, że ma mnie dobrze i prawdziwie zakleszczony. Idealnie chciałbym zmodyfikować tylko plik build.properties, aby dołączyć common_src i przekazać go do ant_rules_r3.xml, ale nie mogę wymyślić, jak to zrobić. Byłbym bardzo wdzięczny, gdyby ktoś mógł zasugerować, jak można to zrobić.
możliwe duplikat [Jak określić wiele katalog źródłowy projektu biblioteki Android] (http : //stackoverflow.com/questions/14605899/how-to-specify-multiple-source-directory-for-android-library-project) – Ytai
@Ytai Gdybyś miał ochotę przyjrzeć się datom dwóch pytań, zauważyłem, że to pytanie zostało wysłane na wiele lat przed tym, które cytowałeś jako już posiadające odpowiedź. Nie widzę, jak ktokolwiek z mózgiem mógłby oznaczyć to jako duplikat. – NickT