I задал этот вопрос в группе разработчиков android-разработчиков, но не получил никакого ответа, поэтому я решил попробовать здесь.
Плагин ADT eclipse, похоже, имеет довольно жесткую идею о том, как должен быть структурирован проект Android - за http://developer.android.com/guide/developing/eclipse-adt.html, ему нужно чтобы иметь файл AndroidManifest.xml
на корневом уровне проекта, плюс res
, assets
, gen
и src
папки на верхнем уровне и т.д.
Мне интересно, возможно ли, чтобы плагин был немного более гибким с макетом, который он распознает. В частности, я использовал плагин сборки для (scala) simple-build-tool, который ожидает, что проекты будут проложены в более подобном Maven способе, например:
src/
main/
AndroidManifest.xml
assets/
res/
scala/
java/
test/
resources
<files to include in test jar here>
scala/
<test Scala sources>
java/
<test Java sources>
(см. документы с простым построением инструментов).
Это макет, к которому я привык, из java-разработки на основе maven. Однако, когда я загружаю проект, подобный ADT, я получаю много жалоб на отсутствующий AndroidManifest.xml
, отсутствующий каталог res
и т.д. Все эти вещи присутствуют, они просто не там, где ожидает их ADT.
Мне не обязательно использовать ADT для создания моего проекта, но я бы хотел использовать его (и Eclipse) для редактирования. Может ли кто-нибудь сказать мне, возможно ли сделать его более гибким в каталогах, которые он использует, чтобы найти различные ресурсы, связанные с Android?
Кроме того, может ли кто-нибудь сказать мне, является ли плагин ADT открытым исходным кодом? Кажется, я никак не могу найти ссылку на его исходный код.
(В качестве примечания, я также пытался пререкаться sbt
, чтобы просто делать то, что нравится ADT, и это возможно, но это кажется очень утомительным.)
Насколько я могу судить, ADT требует этих имен папок, но есть обходной путь: вы можете создавать "связанные папки" в Eclipse. Они похожи на символические ссылки в Unix, но хранятся в файле Eclipse.project вместо файловой системы, поэтому они видны только для Eclipse.
Вы можете создать его, щелкнув правой кнопкой мыши в Eclipse корень проекта, а затем выбрав "Создать новую папку". Нажмите "Дополнительно" и выберите вариант создания связанной папки. Затем введите туда, к которому вы хотите привязать. Вы можете использовать PROJECT_LOC в начале, чтобы указать каталог проекта, поэтому для вашего примера вы должны ввести PROJECT_LOC/src/main/res в качестве папки для ссылки и использовать автоматически сгенерированное имя "res" для созданной папки.
Я не верю, что вы можете изменить структуру проекта Android, и ADT это понимает. Было бы "очень утомительно" сделать это даже с помощью строковых команд командной строки на основе Ant - вам придется создать собственную копию различных задач Android Ant, изменить их в соответствии с требованиями (и надеяться, что базовые инструменты построения позволяют то, что вы хотите), а затем поддерживать их навсегда перед обновлениями Android SDK.
Ваша структура фактически достаточно близка к ожиданию Android, если вы считаете main/
проектом Android. Если вы можете убедить sbt
разрешить src/
вместо java/
там, и если sbt
не будет жаловаться на результирующие bin/
и gen/
, вы закончите с main/
после компиляции, вы можете заставить его работать.
Вот где вы можете найти источник ADT для r3 0.94, не удалось найти последнюю версию