Ошибка: К сожалению, вы не можете иметь не-Gradle модули Java и> модули Android-Gradle в одном проекте


230

У меня есть проект IntelliJ 14.1.2, состоящий из двух модулей: один - модуль на базе Android Gradle, а другой - модуль на основе Spring Java с Maven.

gps-trackman.v1 - мой корневой проект, и я не настроил никаких выходных данных или аспектов для этого проекта. Приложение является моим модулем для Android, и я настроил Android и Android-Gradle Facet для этого проекта, а gps-trackman не мой Spring Maven Project. Я хочу быть в состоянии построить все вместе. Является ли это возможным?

Теперь я получаю это сообщение об ошибке в моем IntelliJ Eventlog

Обнаружены неподдерживаемые модули: Компиляция не поддерживается для следующих модулей: gps-trackman, gps-trackman.v1, app. К сожалению, вы не можете иметь не-Gradle Java-модули и Android-Gradle-модули в одном проекте.

Проект 'gps-trackman.v1' не основан на Gradle

Это ошибка из-за неправильной конфигурации моего проекта или в самом деле невозможно иметь модуль maven и модуль Gradle в одном проекте?

Нужно ли настраивать какие-либо аспекты для корневого проекта? В качестве альтернативы, я должен преобразовать моего maven в gradle?


Вы против преобразования проекта Maven в Gradle?
RaGe

Да, тогда я попытался преобразовать проект Maven в проект Gradle, но это привело к множеству других ошибок, поэтому я предпочел бы остаться с Maven ...
kamokaze

1
Хорошо, я просто хотел отметить, что можно добавить обычный проект Java Gradle в качестве подпроекта для проекта Android.
RaGe

1
Проблемы, которые вы описали в билете JetBrains YouTrack IDEA-122904 ? Если да, помогают ли какие-либо из перечисленных здесь обходных путей?

Ответы:


399

1- закрыть проект

2- закрыть Android StudioIDE

3- удалить .ideaкаталог

4- удалить все .imlфайлы

5- открыть Android StudioIDE и импортировать проект

Ответ отсюда


14
работал для меня только с удалением .idea dir на astudio 3.5
Leres Aldtai

3
Работает ли это только на определенных версиях Android Studio?
Раввин Стелс

Будьте осторожны, удаляя каталог .idea. В этом каталоге есть много вещей, которые будут потеряны и не будут сгенерированы автоматически при перезапуске A / S. Конкретно codeStylesиdictionaries
tir38

Это работает и для AS 3.6.3. Я просто закрыл IDE, удалил файлы и снова открыл. Не нужно было ни закрывать проект, ни импортировать (я думаю, что в любом случае это делает IDE).
JCarlosR

@ tir38, я думаю, что все файлы в папке .idea генерируются автоматически. Не нужно беспокоиться при удалении. Android Studio создает каждый файл самостоятельно.
Нео

86
  1. Перейдите в File -> Invalidate Caches / Restart.
  2. Закройте проект.
  3. Перейдите в папку проекта и удалите папку .idea.
  4. Удалите YourProjectName.iml в папке проекта.
  5. Удалить app.iml в папке приложения.
  6. Откройте Android studio -> откройте существующий проект, а затем выберите свой проект.
  7. Ошибка «Загрузить настройки» и «Обнаружены неподдерживаемые модули» исчезнут.

1
Спасибо. Это помогло мне. И решение довольно! :) Но с: Синхронизировать проект с файлами Gradle
user_MGU

Какие файлы будут настроены в .gitignore, можете ли вы дать предложения для нового проекта.
МоханРадж С

1
1.a После выбора «Invalidate Caches / Restart» появится диалоговое окно. Убедитесь, что вы выбрали только «отключить» и закрыли Android-студию вручную. Если вы выберете «сделать недействительным + перезапустить», Android-студия перезапустится, прежде чем вы сможете выполнить шаги 3-5.
Стюарт Шехтер

@MohanRajS, все файлы, которые генерируются автоматически, должны игнорироваться. Например, каждый iml-файл, папка .idea, папка .gradle, папка сборки, .classpath, .project, .log, .apk, .aab и т. Д.
Нео

19

В моем случае settings.gradle содержит неверную конфигурацию.

Я изменился:

include ':app'
rootProject.name='<somthing else>'

Для того, чтобы:

include ':app'

Ошибка ушла. Так что, возможно, проверьте ваши настройки. Gradle на предмет возможных ошибок. Если это не сработает, попробуйте удалить кеш и другие советы.


1
Это исправило это для меня
Код Wiget

17

Прежде всего вам следует обновить приложение до Android Studio: https://code.google.com/p/android/issues/detail?id=77983.

Затем вы должны перейти к File -> Invalidate Caches / Restart -> Invalidate Caches & Restart.

Затем попробуйте собрать приложение снова.

Я нашел этот ответ здесь


8
Я не использую Android Studio. это не мой случай!
Камоказе

1
Получал «Обнаружены неподдерживаемые модули: Компиляция не поддерживается для следующих модулей: мобильные. К сожалению, вы не можете иметь не-Gradle модули Java и модули Android-Gradle в одном проекте» - это помогло мне. Спасибо!
JC Carrillo


12

Перепробовал все выше. Не сработало

Вот что сработало. Перейдите в файл modules.xml

Удалите все модули там. Очистить и восстановить.


3
Это сработало для меня. У меня была эта ошибка на модуле Gradle, который был позже удален, но ошибка продолжала поступать , несмотря ни на что. Удаление модуля из modules.xml работало, а все остальное - нет.
3c71


10

Здравствуйте, разработчики, вот окончательное решение этой ошибки:

РЕШЕНИЕ 1

Шаг 1 Перейдите в File -> Invalidate Caches / Restart.

Шаг 2 Закройте проект.

Шаг 3 Перейдите в папку проекта и удалите папку .idea.

Шаг 4 Удалите YourProjectName.iml в папке проекта.

Шаг 5 Вы увидите папку под папкой graddle: Удалить папку YourProjectName (она содержит другой файл YourProjectName.iml).

Шаг 6 Откройте Android studio -> откройте существующий проект, а затем выберите свой проект.

**

РЕШЕНИЕ 2

**

Шаг 1: Откройте поврежденный проект (тот, который показывает ошибку).

Шаг 2: Откройте файл system.gradle.

Шаг 3: добавьте эту строку кода include ':app'.

Шаг 4: нажмите на синхронизацию, чтобы синхронизировать файл Gradle.

ПОЗДРАВЛЯЮ !!! ОШИБКА НАКОНЕЦ


1
помогло удаление папки .idea и файла .iml.
Редар

2
Чем это отличается от предыдущих ответов. Все, что вы сделали, это скомпилировали два верхних существующих ответа.
tir38

7

Нажмите Ctrl-Alt-S> Снимите флажок «Поддержка Android»

(Хотелось бы мне точно сказать, почему это работает, но я не могу. Если вы хотите разрабатывать для Android, попробуйте использовать Android Studio, которая также сделана Jetbrains.)


2
File -> Settings (= STRG+ALT+S) -> Plugins -> uncheck "Android Support" Страница помощи JetBrains
schemacs

1
В моем случае такого плагина у меня не было, но «Плагин Markdown» помечен как красный несовместимый, я удалил его и решил проблему после перезапуска AS.
djdance

6

Была такая же проблема с Android Studio 3.3 Canary 13.

Я смог решить эту проблему, выполнив следующие действия:

  • Зайдите в настройки модуля и удалите ваш модуль из списка
  • Отредактируйте settings.gradle и удалите из него свой модуль.
  • Физически переместить каталог модуля из проекта (например, на рабочий стол)
  • Затем в настройках модуля снова добавьте модуль и выберите в качестве типа «Импорт Gradle Project», в котором вы выбираете папку модуля, которую вы переместили на рабочий стол (или в другое место).

Когда вы выполните эти шаги, модуль снова будет скопирован в ваш проект, AS снова начнет синхронизацию Gradle, и это будет успешно выполнено без ошибок :-) Проверьте ваш статус GIT, и вы увидите, как только вы снова добавите каталог вашего модуля в GIT, что ничего изменился на ваш рабочий каталог. Так что это чисто проблема с AS, которая как-то не синхронизируется ...

На основе моего решения на основе этого комментария: https://issuetracker.google.com/issues/37008041#comment3


3

По какой-то причине вы не можете удалить папку .idea

Лучший способ это

  • Удалить все файлы внутри .idea
  • Удалить .idea


2

У меня это решение работало в Android Studio 3.3.2.

  1. Удалите файл .iml из каталога проекта.
  2. В андроид студии File-> аннулировать кэши / перезапустить.
  3. Очистите и перестройте проект, если автоматическая сборка выдает ошибку.

2

Ничто из вышеперечисленного не сработало для меня, но попробовало что-то случайное, и это сработало.

  1. Скопируйте поврежденный каталог проекта.
  2. Вставьте это где-нибудь еще.
  3. Импортируйте его в Android Studio. (Файл-> Новый-> Импортировать проект)
  4. И не поврежденный проект восстанавливают.

PS: У вас должен быть оригинальный поврежденный проект. (Значит, скопируйте без изменения структуры проекта)



2

Вы можете просто понизить вашу зависимость от gradle, чтобы она соответствовала вашей текущей версии Android Studio.

dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
        ....
}

Работал на меня.


1

Для меня мой проект был очень испорчен. Я не знаю, как я попал в это состояние. Я заметил, что несколько файлов .gradle и proguard имели целый пакет содержимого xml. К счастью, физический файл содержал правильное содержимое, но Android Studio отображала его в виде некоторого XML-файла, который выглядел так, как будто он принадлежал некоторым сгенерированным Res XML-данным. Такие вещи, как «Синхронизация с файловой системой» или «Синхронизация проекта с файлом Gradle», «Аннулирование кэша и перезапуск» или «Очистка Gradlew», не решают проблему. Я даже заменил поддельные xml-данные, отображаемые в скриптах gradle, оригинальным контентом, но это тоже не помогло. Я испробовал некоторые из приведенных выше советов, но они либо не сработали, либо показались мне слишком сложными, чтобы я чувствовал, что мой проект вернется в правильное состояние.

Поэтому я решил создать новый пустой проект. Используя файловый менеджер, я скопировал все модули поврежденного проекта в новый проект (обычное старое копирование и вставка). Я также заменил «settings.gradle» и корневые файлы «build.gradle» нового файла на содержимое из старого файла. Как только это будет сделано, вы должны запустить "синхронизировать Project с файлами Gradle", и вы хорошо справитесь. Если случайно в корне вашего проекта есть какой-то контент, который вы добавили физически, вам придется скопировать его тоже.

Так что вы вернетесь к работе. Я не знаю наверняка, что вызвало повреждение моего проекта, но я думаю, что это может быть связано с переходом ноутбука в спящий режим. Мой ноутбук не давал мне проснуться от сна, и единственный способ для меня - это снова включить питание. У меня было несколько проектов, открытых несколько раз, когда это произошло. Так что это мое лучшее предположение о том, как проект мог быть поврежден.


1

Скопируйте файлы проекта из исходного источника и вставьте его куда-нибудь, а затем импортируйте из Android Studio.


1

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

Я всегда получаю эту ошибку, хотя я знал, что не внес никаких изменений, которые могли бы вызвать это, кроме экспорта в zip.

Исправить:

  • Сделайте новый проект или открытый проект, который работает
  • Перейти к файлу> открыть> "ваш проект"
  • Убедитесь, что ваш фиктивный проект остается открытым. Проект, в котором вы получаете ошибки, должен быть открыт в новом окне.

Это исправило это для меня без каких-либо изменений или удаления чего-либо.


0

ошибка объясняет все, идея путается между gradle и maven .

попробуйте создать новый проект с двумя модулями Gradle , вы можете создать приложение Spring с Gradle, как Maven.

увидеть этот пример из весенних направляющих


0

Следующее решение, которое я нашел на этом форуме, работало как шарм:

1- закрыть проект

2 - закрыть Android Studio IDE

3 - удалите каталог .idea в каталоге, где находится ваше приложение

4 - удалите все файлы .iml в каталоге, где находится ваше приложение

5 - открыть Android Studio IDE и импортировать проект

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.