Android Studio генерирует R-файл только для модулей без зависимостей от модулей в многомодульном проекте - PullRequest
0 голосов
/ 08 февраля 2019

После обновления до AS 3.3.1 из 3.2. У меня возникла странная ошибка: R-файл генерируется только для модулей, которые не реализуют никаких других модулей. Я все еще могу скомпилировать проект или перейти к объявлению через cmd + B, но каждый файл ресурсов, такой как R.layout.activity_main, подсвечивается сообщением «неразрешенная ссылка», пока я не удалю каждую реализацию модуля из модуля build.gradle иповторно синхронизировать проект.

Насколько я заметил, проблема не связана с Android Gradle 3.3.0 или Kotlin 1.3, так как мои старые проекты также затронуты.

Что яуже пробовал:

  • Очистить / восстановить проект
  • Неправильный кэш
  • Resync Gradle
  • Переключиться на Android Gradle 3.2.1
  • delete .idea directory

Вот мой проект , пример модуля build.gradle и используемые библиотеки .Например, если я прокомментирую implementation(project(":presentation")) строку в mainscreen/build.gradle.kts, ошибка исчезнет.Очевидно, что это не решение.

UPD: решено

Решение: вы должны указывать разные имена пакетов в каждом AndroidManifest.xml файлах, то есть com.mycompany.example.launcherдля модуля запуска, com.mycompany.example.presentation для модуля презентации и так далее .

1 Ответ

0 голосов
/ 08 февраля 2019

[решение1] Вы можете удалить старую версию gradle из вашей системы и начать установку новой версии.

[решение2] Или удалить Android Studio и переустановить ее

...