У меня есть приложение для Android, которое зависит от другого модуля, постоянно разрабатываемого в репозитории Azure. Итак, у меня есть эти строки в файле .gitmodules:
[submodule "MyModuleLibrary"]
path = MyModuleLibrary
url = https://[email protected]/minem/minem%20CMS/_git/MyModuleLibrary
branch = mytest
в settings.gradle у меня есть:
include ':mymodule'
project(':mymodule').projectDir = new File(rootDir, 'MyModuleLibrary/mymodulelibrary/')
в build.gradle на уровне приложения у меня есть:
dependencies {
implementation project(':mymodule') ...
Теперь, независимо от того, какой вариант сборки я выберу (я выбрал dev), при сборке проекта я получаю эту ошибку:
Не удалось разрешить все зависимости задач для конфигурации «:app:productionDebugCompileClasspath».
Не удалось разрешить проект: mymodule.
Требуется:
проект: приложение
Не найдена соответствующая конфигурация проекта:mymodule. Потребитель был настроен на поиск библиотеки для использования во время компиляции, предпочтительно оптимизированной для Android, а также атрибут com.android.build.api.attributes.BuildTypeAttr со значением debug, атрибут com.android.build. .api.attributes.ProductFlavor:environment» со значением «production», атрибут «com.android.build.api.attributes.AgpVersionAttr» со значением «8.3.0», атрибут «org.jetbrains.kotlin.platform.type» с значение «androidJvm», но:
Ни одна из конфигураций расходных материалов не имеет атрибутов.
Я использую эту версию gradle (build.gradle на уровне проекта):
classpath 'com.android.tools.build:gradle:8.3.0'
И в gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
После 3 недель ужаса я запустил эту команду в корневой папке проекта и тогда сборка прошла успешно:
git submodule update --recursive
Другое дело — версия Java. В некоторых случаях установка Java 11 работает. В моем случае 2 из 4 модулей имели зависимость от Java 17, а еще 2 модуля имели зависимость от Java 11, объявленную в их build.gradle. Поэтому я обновил всю их Java до Java 17 в файле build.gradle. Когда вы меняете зависимость от версии Java, иногда вам придется перезагрузить компьютер, чтобы ошибка исчезла.
Также один из модулей был от Unity И мне пришлось скопировать папку сборки для своей машины (M2 Silicone) и заменить там текущую, но не знаю актуально ли это.