Перейти к основному содержимому

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

Чтобы устранить ошибку, выполните следующие действия:

  1. Скопируйте файл settingsTemplate.gradle из /Applications/Unity/Hub/Editor/2022.2.9f1/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/settingsTemplate.gradle.

  2. Продублируйте его по пути 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"
    }
    }
    }
  3. Скопируйте блок repositories из dependencyResolutionManagement и безопасно удалите блок dependencyResolutionManagement из settingsTemplate.gradle файла. Теперь settingsTemplate.gradle должен выглядеть как представлено ниже:

    pluginManagement {
    repositories {
    **ARTIFACTORYREPOSITORY**
    gradlePluginPortal()
    google()
    mavenCentral()
    }
    }

    include ':launcher', ':unityLibrary'
    **INCLUDES**
  4. По пути Project Settings → Player → Publishing Settings для Android включите Custom Base Gradle Template и создайте блок allprojects.

  5. Вставьте скопированный блок 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
    }
  6. Теперь сборка должна пройти успешно.