无法解析 com.android.tools.build:gradle:2.2.3

问题描述 投票:0回答:4

我正在开发一个移动应用程序项目,但当我尝试运行该应用程序时,经常会出现以下错误:

错误:配置根项目“projectName”时出现问题。 无法解析配置“:classpath”的所有依赖项。 无法解析 com.android.tools.build:gradle:2.2.3。 要求者: :项目名称:未指定 没有可用于离线模式的 com.android.tools.build:gradle:2.2.3 缓存版本。

我尝试了许多不同的方法,包括取消选择设置中的离线工作复选框,然后关闭并重新打开 Android Studio,但似乎没有任何方法可以解决问题。它可能会连续几次构建良好,但同样的错误不断出现。然后我必须尝试构建和制作应用程序的各种变化,或者退出并重新打开 Android Studios。但没有什么能始终如一地发挥作用。如果您了解可能导致此问题的原因以及如何解决该问题,我们将不胜感激。

***更新:根据要求,我已在我的应用程序 gradle 内容下方添加了

apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
useLibrary 'org.apache.http.legacy'

dexOptions {
    javaMaxHeapSize "8g"
}

defaultConfig {
    applicationId "com.example"
    minSdkVersion 15
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"

    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug{ 
        debuggable true
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.google.android.gms:play-services:9.4.0'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'

compile files('libs/gson-2.2.2.jar')
compile group: 'cz.msebera.android' , name: 'httpclient', version: '4.4.1.1'
compile 'com.facebook.stetho:stetho:1.3.1'
compile 'com.loopj.android:android-async-http:1.4.9'
}
android android-studio-2.2
4个回答
6
投票

事实证明,我的特定问题的解决方案相对简单。该错误消息有点欺骗性,因为这不是离线模式切换的问题,而是与 gradle 文件混淆的问题。以下是我解决此问题所采取的一些步骤:

  1. 对于 Android Studio 2.3,转到文件>设置>Gradle 并选择“使用默认 gradle 包装器”选项。另请确保未选中“离线工作”旁边的复选框,以防万一。
  2. 点击“应用”按钮
  3. 在 Android Studio 的“Gradle Scripts”部分下的 build.gradle 文件(以您的项目命名的文件)中,确保当前的构建 gradle 类路径与 Android Studio 的当前版本相匹配。 Android Studio 2.3 的示例:

    buildscript {
        repositories {
        jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.0'
        }
    }
    
  4. 此外,在 Gradle 脚本部分中,请确保您的 gradle-wrapper.properties 文件在分发 URL 中引用正确的 gradle 文件。例如对于 gradle 3.3:

    distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
    
  5. 导航到 C:\Program Files\Android\Android Studio\gradle 并确保有一个 gradle 文件夹与您正在使用的 gradle 名称相同。就我而言,我确保有一个名为 gradle-3.3 的文件夹,其中包含一个名为 gradle-3.3-all.zip 的 zip 文件。在网上找到这个zip文件相对容易。

  6. 删除 C:\Users\yourUser 中的 .gradle 文件夹,其中 yourUser 为你的 Android Studio 项目所在的用户。
  7. 关闭 Android Studio 并重新启动。它应该开始 gradle 同步过程并重建 .gradle 文件。

对我来说,当我这样做时,它还抱怨在 .gradle 文件夹中找不到 gradle-3.3-all.zip 文件。我可以通过将 gradle-3.3-all.zip 文件添加到 C:\Users\yourUser.gradle\wrapper\dists\gradle-3.3-all-gk2rcmfc6p2dg9u9ohc3hw9 来解决此问题。我不确定该文件夹是否对每个人都有相同的名称,但无论名称如何,这都是我访问的位置。如果这一切都不起作用,我会尝试这些步骤的变体,希望它对您有用。


0
投票

它失败的原因是它无法编译您包含的库之一。也许,尝试删除您怀疑的那个,然后再试一次。但大多数时候,重建项目应该可以解决依赖关系。


0
投票

我有相同的 pb,设法通过添加 gradle.properties 来解决它

systemProp.https.proxyHost=<my proxy hostname>
systemProp.https.proxyPort=<my proxy port>

我缺少 HTTPS 属性,仅设置了 HTTP,因此有时可以正常工作,但不适用于使用的 https 链接 gradle。


0
投票

我决定将构建工具升级到2.3.0:

    buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'}
    }
}

仍然可以在 Maven Central 中使用(如此处所述)。

升级并没有那么痛苦。

© www.soinside.com 2019 - 2024. All rights reserved.