【问题标题】:Gradle Sync Failure: Could not resolve all artifacts for configurationGradle 同步失败:无法解析所有工件以进行配置
【发布时间】:2020-08-24 00:46:46
【问题描述】:

尝试同步 Gradle 时出现以下错误:

A problem occurred configuring project ':react-native-google-signin'.
> Could not resolve all artifacts for configuration ':react-native-google-signin:classpath'.
   > Could not find com.android.tools.build:gradle:3.6.3.
     Searched in the following locations:
       - https://jcenter.bintray.com/com/android/tools/build/gradle/3.6.3/gradle-3.6.3.pom
       - https://jcenter.bintray.com/com/android/tools/build/gradle/3.6.3/gradle-3.6.3.jar
     Required by:
         project :react-native-google-signin

我进行了搜索,但无法找到答案。这里有一个类似的问题:React native android can not find com.android.tools.build:gradle:3.6.3

看上面这表明关闭离线模式,它没有打开,所以很遗憾,这不是答案。

根 bundle.gradle 文件如下所示:

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

buildscript {
  ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0-alpha1"
      reactNativeVersion = "0.59.9"
    googlePlayServicesAuthVersion = "16.0.1"
  }
    repositories {
        google()
        maven {
          url 'https://maven.google.com/'
        }
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.fabric.io/public'
        }
        maven { url 'https://dl.bintray.com/android/android-tools' }

      maven {url "$projectDir/../node_modules/react-native/android"}
    }
    dependencies {
        classpath('com.android.tools.build:gradle:3.4.1')
        classpath 'com.google.gms:google-services:4.1.0'
        classpath 'io.fabric.tools:gradle:1.25.4'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        // React native video - exoplayer missing from google repos, temp fix
        maven {
            url "https://google.bintray.com/exoplayer/"
        }
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
//        configurations.all {
//            resolutionStrategy {
//                force 'com.facebook.android:facebook-android-sdk:4.28.0'
//            }
//        }
    }
}

根据错误,它似乎只在 jcenter 中搜索而不在其他地方搜索?我不确定,但是当我在网上搜索时,这个特定的版本可以从 maven.google.com 获得吗?

【问题讨论】:

  • 解决了吗?
  • 不,我无法深入了解它。因为我需要一个 react-native 升级,所以我首先在做这个,希望我能把它清理干净

标签: android gradle build.gradle gradle-plugin gradlew


【解决方案1】:

用这个替换你的android/build.gradle,即用这个替换你的项目级gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        maven {url "https://maven.google.com"} //<---- this should be added and should be aboce jcenter
        maven {url "$rootDir/../node_modules/react-native/android"}
        jcenter()
    }
}

然后在android/中清除你的gradle

gradlew clean

然后运行 ​​react native 应用程序。

注意:在上面的 sn-p 中使用你自己的 gradle 和 google 服务版本

【讨论】:

  • 我已经编辑了问题并包含了整个 build.gradle 文件。如果仍然需要相同的更改,似乎正确的部分在正确的位置?
  • 嘿,我之前遇到过这个问题,所以我复制粘贴了我的最终代码:P。你可以试试sn-p中提到的代码,试试看。
【解决方案2】:

你应该转到Androidx

AndroidX 是对不再维护的原始 Android 支持库的重大改进。您可以通过从菜单栏中选择 Refactor &gt; Migrate to AndroidX 将现有项目迁移到 AndroidX

升级

    classpath 'com.android.tools.build:gradle:3.6.3'
    classpath 'com.google.gms:google-services:4.3.2'

    buildToolsVersion = "29.0.2"
    minSdkVersion = 16
    compileSdkVersion = 29
    targetSdkVersion = 29

【讨论】:

  • 谢谢,您能否阐明第二部分的含义。升级这个和那个。我到底该怎么处理这些,或者我只是在运行 Migrate to AndroidX ?
  • @StuartM 是的。首先备份代码然后迁移。希望它会工作
  • @StuartM 解决了吗?
  • @StuartM 解决了吗?
【解决方案3】:

你应该尝试这样做:

react native link

【讨论】:

    【解决方案4】:

    启用自动升级我的 gradle 文件的 Flutter Web 后出现此错误, 所以首先禁用你的颤振网络并将你的 compileSdkVersion 和 targetSdkVersion 更新到最新版本,现在是 30

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2021-10-25
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      相关资源
      最近更新 更多