Could not find com.appodeal.ads.sdk
Unity: 2022 или новее | Appodeal SDK: 3.0.0 или новее | EDM Plugin: v1.2.175 или старше
Ошибка launcher:checkReleaseDuplicateClasses'. \> Could not resolve all dependencies for configuration':launcher:releaseRuntimeClasspath \> Could not find com.appodeal.ads.sdk.core:internal:3.0.2.'
возникает
из-за того, что Unity перешла на новую версию Android Gradle Plugin
(7.1.0). В этой версии настройка репозитория была перемещена из файла
build.gradle верхнего уровня в файл settings.gradle.
Пример ошибки из Unity Editor Log:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> Could not resolve all files for configuration ':launcher:releaseRuntimeClasspath'.
> Could not find com.appodeal.ads.sdk.core:internal:3.0.2.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/com/appodeal/ads/sdk/core/internal/3.0.2/internal-3.0.2.pom
- https://repo.maven.apache.org/maven2/com/appodeal/ads/sdk/core/internal/3.0.2/internal-3.0.2.pom
- file:/D:/UnityProjects/natrix/natrix/Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/libs/internal-3.0.2.jar
- file:/D:/UnityProjects/natrix/natrix/Library/Bee/Android/Prj/IL2CPP/Gradle/unityLibrary/libs/internal.jar
Required by:
project :launcher > project :unityLibrary
Чтобы устранить ошибку, выполните следующие действия:
-
Скопируйте файл settingsTemplate.gradle из /Applications/Unity/Hub/Editor/2022.2.9f1/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/settingsTemplate.gradle.
-
Продублируйте его по пути Assets/Plugins/Android/settingsTemplate.gradle. Таким образом, Unity может использовать файл из Assets/Plugins/Android.
Пример settingsTemplate.gradle файла:
pluginManagement {
repositories {
**ARTIFACTORYREPOSITORY**
gradlePluginPortal()
google()
mavenCentral()
}
}
include ':launcher', ':unityLibrary'
**INCLUDES**
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
**ARTIFACTORYREPOSITORY**
google()
mavenCentral()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
}
} -
Скопируйте блок repositories из dependencyResolutionManagement и безопасно удалите блок dependencyResolutionManagement из settingsTemplate.gradle файла. Теперь settingsTemplate.gradle должен выглядеть как представлено ниже:
pluginManagement {
repositories {
**ARTIFACTORYREPOSITORY**
gradlePluginPortal()
google()
mavenCentral()
}
}
include ':launcher', ':unityLibrary'
**INCLUDES** -
По пути Project Settings → Player → Publishing Settings для Android включите Custom Base Gradle Template и создайте блок allprojects.
-
Вставьте скопированный блок repositories в файле settingsTemplate.gradle. Файл baseProjectTemplate.gradle будет выглядеть следующим образом:
plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
**BUILD_SCRIPT_DEPS**
}
allprojects {
repositories {
**ARTIFACTORYREPOSITORY**
google()
mavenCentral()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
} -
Теперь сборка должна пройти успешно.