React Native: не удалось найти com.android.tools.build:gradle:2.2.3 - PullRequest
0 голосов
/ 10 декабря 2018

Я делаю Android-приложение, использующее реагировать на натив, и вот ошибка, которую я получаю:


    FAILURE: Build failed with an exception.

    * What went wrong:
    A problem occurred configuring project ':react-native-fetch-blob'.
    > Could not resolve all artifacts for configuration ':react-native-fetch-blob:classpath'.
       > Could not find com.android.tools.build:gradle:2.2.3.
         Searched in the following locations:
             https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.pom
             https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.jar
         Required by:
             project :react-native-fetch-blob

Я также получаю следующие предупреждения:


    > Configure project :app 
    WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
    It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
    WARNING: The specified Android SDK Build Tools version (26.0.2) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.2.1.
    Android SDK Build Tools 28.0.3 will be used.
    To suppress this warning, remove "buildToolsVersion '26.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
    registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
    registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

    > Configure project :react-native-android-location-services-dialog-box 
    WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
    It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
    WARNING: The specified Android SDK Build Tools version (25.0.2) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.2.1.
    Android SDK Build Tools 28.0.3 will be used.
    To suppress this warning, remove "buildToolsVersion '25.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.

Это мой файл build.gradle:


    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
        repositories {
            google()
            jcenter()
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
            classpath 'com.google.gms:google-services:3.0.0'
        }
    }

    allprojects {
        repositories {
            google()
            mavenLocal()
            jcenter()
            maven {
                // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
                url "$rootDir/../node_modules/react-native/android"
            }

            // jitpack repo is necessary to fetch ucrop dependency
            maven { url "https://jitpack.io" }
        }
    }

Это мой URL-адрес дистрибутива gradle:

distributionUrl = https://services.gradle.org/distributions/gradle-4.6-all.zip

Я попытался изменить порядокиз разных репозиториев и по-прежнему получают ту же ошибку.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Как видно из обходного пути от google IssueTracker: https://issuetracker.google.com/issues/120759347#comment44

Просмотр ваших журналов ошибок:

  • Что пошло не так: при настройке проекта возникла проблема ': реагировать-нативную выборку-блоб».Не удалось разрешить все артефакты для конфигурации ': Reaction-native-fetch-blob: classpath'.Не удалось найти com.android.tools.build:gradle:2.2.3.

Вы все еще ищете AGP 2.2.3 для своего проекта :react-native-fetch-blob,

Для тех проектов React Native или CordovaLib , которые имеют более низкие версии Android Gradle Plugin, например, 2.2.3, вы можете попробовать заменить google() на следующиеmaven и добавьте обходной путь для Android .Итак, измените ваш файл верхнего уровня build.gradle, как показано ниже, для buildscripts и allprojects:

buildscripts {
    repositories {

        // below is the workaround for android tools 
        maven {
            artifactUrls "https://dl.bintray.com/android/android-tools/"
            url "https://jcenter.bintray.com"
        }
        maven {
            url "https://maven.google.com"
        }

        // ... 
        jcenter()

    }
}

allprojects {
    repositories {

        // below is the workaround for android tools 
        maven {
            artifactUrls "https://dl.bintray.com/android/android-tools/"
            url "https://jcenter.bintray.com"
        }
        maven {
            url "https://maven.google.com"
        }

        // ... 
        jcenter()

    }
}

Очистите ваш проект и затем выполните новую синхронизацию.

  • Попробуйте " File " -> " Отменить кеширование / перезапустить ... "
  • Попробуйте очистить .gradle иКаталог .idea в корневом каталоге вашего проекта.

См. Ссылки ниже:


Для предупреждений:

ВНИМАНИЕ: Конфигурация 'compile' устарела и была заменена на 'реализация' и 'api'.

Поскольку вы используете AGP ( A ndroid G radle P lugin 3.2.1), конфигурация сборки compileизменилось на implementation и api.Просто замените все compile на implementation или api, и это предупреждение исчезнет.Смотрите: https://developer.android.com/studio/build/dependencies#dependency_configurations для более подробной информации.

ВНИМАНИЕ: указанная версия Android SDK Build Tools (25.0.2) игнорируется, так как она ниже минимально поддерживаемой версии (28.0.3) для Android Gradle Plugin 3.2.1.Будут использоваться инструменты сборки Android SDK 28.0.3.Чтобы подавить это предупреждение, удалите «buildToolsVersion '25 .0.2 '» из файла build.gradle, поскольку каждая версия подключаемого модуля Android Gradle теперь имеет версию инструментов сборки по умолчанию.

Это предупреждениетолько для вашей информации, вы можете просто проигнорировать это или удалить buildToolsVersion '25.0.2' из вашего build.gradle файла, чтобы подавить это предупреждение.

0 голосов
/ 11 декабря 2018

Кажется, com.android.tools.build:gradle:2.2.3 был удален из репозитория jcenter.

Попробуйте добавить этот код в файл build.gradle верхнего уровня:

subprojects {project ->
    if (project.name.contains('react-native-fetch-blob')) {
        buildscript {
            repositories {
                maven { url "https://dl.bintray.com/android/android-tools/"  }
            }    
        }
    }
}
...