Gradle 同步失败:无法解析所有工件以进行配置
Posted
技术标签:
【中文标题】Gradle 同步失败:无法解析所有工件以进行配置【英文标题】:Gradle Sync Failure: Could not resolve all artifacts for configuration 【发布时间】: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 升级,所以我首先在做这个,希望我能把它清理干净 【参考方案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 > 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
【讨论】:
以上是关于Gradle 同步失败:无法解析所有工件以进行配置的主要内容,如果未能解决你的问题,请参考以下文章
android-jetifier: "无法解析所有工件";新项目上的“改造工件失败”
无法解析配置 ':classpath' 的所有工件。无法解析 com.android.tools.build:gradle:3.5.3。显示错误
无法解析配置“:classpath”的所有工件。 > 无法解析 com.android.tools.build:gradle:4.1.0
任务 ':app:lintVitalRelease' 执行失败。 > 无法解析配置 ':app:debugRuntimeClasspath' 的所有工件