Конфигурация студии Android с Gradle

У меня возникла проблема с настройкой Android-студии после импорта проекта Gradle. Структура моего проекта выглядит следующим образом:

Root Project
|_.config
    |_settings.gradle
    |_build.gradle
|_app_module
|_lib1_module
|_lib2_module
|_ etc.

Обратите внимание, что по нескольким причинам я не могу переместить файлы settings.gradle и build.gradle в корень проекта. Также указанные выше файлы настроены корректно, так что проблем со сборкой нет.

Таким образом, проблема заключается в том, что после импорта проекта все файлы и папки, связанные с Gradle, создаются внутри папки .config, что меня не беспокоит. Также в этой самой папке создается папка .idea и все соответствующие подпапки.

Вот в чем проблема. По какой-то причине студия не распознает, что все подмодули находятся под контролем исходного кода. т.е. его vcs.xml пуст и содержит только корень проекта. На самом деле проблема решается добавлением модулей через меню settings--> subversion, но хотелось бы готового решения. Я пытался поместить папку .idea в систему управления версиями - не помогает. При создании проекта файл vcs.xml перезаписывается и снова становится пустым.

Итак, главный вопрос: есть ли возможность

  1. Заставить студию создать папку .idea и корневую папку проекта без изменения местоположения файлов .gradle ИЛИ
  2. Сделать так, чтобы студия НЕ перезаписывала свои файлы настроек при импорте проекта (например, сохраняла предопределенный файл vcs.xml)

PS. Я знаю, что размещение всех сгенерированных файлов (включая папку gradle, gradlew и т. д.), вероятно, решит проблему, но я бы не хотел заходить так далеко.

Заранее всем спасибо


person SemyonM    schedule 11.07.2015    source источник


Ответы (1)


Это должен быть комментарий, но он слишком длинный.

Android Studio работает с проектом. Внутри этого проекта вы можете настроить больше модулей, но для этого нужна следующая структура:

Root Project
|_.idea
|_.gradle
|_.config
    |_build.gradle
|_app_module
    |_build.gradle
|_lib1_module
    |_build.gradle
|_lib2_module
    |_build.gradle
|_ etc.
|_settings.gradle
|_build.gradle

Внутри settings.gradle вы должны определить все модули:

include ':config' , ':app_module' , ':lib1_module',  ':lib2_module'

В корневой папке Android Studio при сборке проекта с помощью gradle создает те же папки, что и .idea.

Я читал, что вы не можете переместить файл settings.gradle. В этом случае Android Studio распознает папку конфигурации как корень проекта и создает внутри папку .idea.

|_.config (root)
    |_.idea
    |_.gradle
    |_build.gradle
    |_settings.gradle
    |_myModule

Заставить студию создать папку .idea и корневую папку проекта без изменения местоположения файлов .gradle ИЛИ

Насколько я знаю, вы не можете избежать этого.

Также ,

Заставить студию НЕ перезаписывать файлы настроек при импорте проекта

Папка .idea, папка .gradle, файлы .iml создаются локально средой IDE при сборке проекта. IDE перезаписывает эти ресурсы, также эти файлы содержат локальные пути и обычно по этой причине они не фиксируются в VCS.

person Gabriele Mariotti    schedule 11.07.2015