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

Could not resolve com.android.tools.build:gradle:2.2.3

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

Error:A problem occurred configuring root project 'projectName'. Could not resolve all dependencies for configuration ':classpath'. Could not resolve com.android.tools.build:gradle:2.2.3. Required by: :projectName:unspecified No cached version of com.android.tools.build:gradle:2.2.3 available for offline mode.

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

***更新:根据要求,我在我的应用程序下方添加了 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'
}

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

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

  1. 对于 Android Studio 2.3,转到文件>设置>Gradle 和 select "Use default gradle wrapper" 选项。还要确保取消选中 "Offline work" 旁边的复选框以防万一。
  2. 单击 "Apply" 按钮
  3. 在 Android Studio 的 "Gradle Scripts" 部分下的 build.gradle 文件(以您的项目命名的文件)中,确保您当前的构建 gradle class 路径匹配 Android Studio 的当前版本。 Android Studio 2.3 的示例:

    buildscript {
        repositories {
        jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.0'
        }
    }
    
  4. 同样在 Gradle 脚本部分中确保您的 gradle-wrapper.properties 文件在分发版 gradle 中引用了正确的 gradle 文件=78=]。例如 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-allgk2rcmfc6p2dg9u9ohc3hw9 来解决这个问题。我不确定该文件夹是否对每个人都具有相同的名称,但无论名称如何,这就是我去过的位置。如果所有这些都不起作用,我会尝试这些步骤的变体,希望它对你有用。

我遇到了同样的 pb,添加 gradle.properties

设法解决了它
systemProp.https.proxyHost=<my proxy hostname>
systemProp.https.proxyPort=<my proxy port>

我缺少 HTTPS 属性,仅设置了 HTTP,所以它有时可以工作,而不是用于使用的 https 链接 gradle。