У меня есть проект со связанной исходной папкой. Этот проект зависит от другого проекта (удаленной службы), поэтому файлы помощи и классы, проходящие через удаленный интерфейс, находятся в связанной папке common_src
, разделенной между двумя проектами. Эта работа отлично работает с сборками Eclipse (один исходный файл, два проекта, изменения в одном проекте отражены в другом, как и должно быть).Android Ant основывается на проекте с двумя исходными папками
Теперь я хочу сделать сборку Ant из командной строки. Мне удалось получить еще один проект с одним каталогом src по всем целям, используя пример build.xml
из инструментов SDK. Он автоматически импортирует ant_rules_r3.xml
, и как только source.dir
и out.dir
определены в build.properties
, все это довольно безболезненно.
Обращаясь к проекту с папками src
и common_src
, я не могу его построить. Во-первых, я вырезал и вставлял цель компиляции и все, на что она зависит, в build.xml
над заданием настройки. Я добавил и определил элемент common_src
к build.properties
и добавил последнюю строку, показанную ниже в -compile target
(копируется из ant_rules_r3.xml
) в build xml
:
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<src path="${common_src}" /><!--ADDED-->
, который получил его в дальнейшем в процессе сборки - это может найти .java файлы в common_src, но не файлы .aidl. Не удивительно, что я понял, что помощь - это отдельная цель. Затем я добавил
<src path="${common_src}" />
к -aidl цели в сборки XML, и он не смог с:
BUILD FAILED
C:\dev\projects\Eclipse\AndroidWorkspace\MapProject\build.xml:77: aidl doesn't
support the nested "src" element.
Так что это хорошо у меня, и действительно застрял. В идеале я хотел бы изменить только файл build.properties, чтобы включить common_src и передать его в файл ant_rules_r3.xml, но я не могу придумать, как это сделать. Я был бы очень благодарен, если кто-нибудь может предложить, как это можно сделать.
возможно дубликат [Как указать несколько исходный каталог для проекта библиотеки Android] (HTTP : //stackoverflow.com/questions/14605899/how-to-specify-multiple-source-directory-for-android-library-project) – Ytai
@Ytai Если бы вы потрудились посмотреть даты двух вопросов, вы бы видели, что этот вопрос был опубликован за несколько лет до того, который вы цитировали, поскольку уже имеете ответ. Я не вижу, как кто-либо с мозгами может отметить это как дубликат. – NickT