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

我正在开发一个移动应用程序项目,但通常当我尝试运行该应用程序时,它会给我提供以下错误信息:

错误:配置根项目'projectName'时发生问题。 无法解析配置':classpath'的所有依赖关系。 无法解析com.android.tools.build:gradle:2.2.3。 必需的::projectName:unspecified没有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'
}

事实证明,解决我的问题是相对简单的。 该错误消息有点欺骗,因为这不是离线模式切换的问题,而是与gradle文件混淆。 这里有几个步骤来解决这个问题:

  • 对于Android Studio 2.3,请转到文件>设置> Gradle,然后选择“使用默认Gradle包装器”选项。 还要确保“离线工作”旁边的复选框未被选中以防万一。
  • 点击“应用”按钮
  • 在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'
        }
    }
    
  • 同样在Gradle Scripts部分中,确保您的gradle-wrapper.properties文件引用分发URL中正确的Gradle文件。 例如,对于gradle 3.3:

    distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip
    
  • 导航到C: Program Files Android Android Studio gradle并确保有一个与您正在使用的gradle具有相同名称的gradle文件夹。 在我的例子中,我确保有一个名为gradle-3.3的文件夹,其中有一个名为gradle-3.3-all.zip的zip文件。 在线查找这个zip文件相对比较容易。

  • 删除C: Users yourUser中的.gradle文件夹,其中yourUser是您的Android Studio项目所在的用户。
  • 关闭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 55gk2rcmfc6p2dg9u9ohc3hw9来解决此问题。 我不确定该文件夹是否对每个人都有相同的名称,但无论名称如何,那是我去过的位置。 如果所有这些都不起作用,我会尝试一下这些步骤的变化,并希望它适用于您。


    它失败的原因是因为它无法编译你包含的一个库。 也许,请尝试删除您怀疑的那个,然后重试。 但是大多数情况下,重建项目应该解决依赖问题。


    我有同样的pb,设法解决它加入gradle.properties

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

    我遗漏了HTTPS属性,只设置了HTTP,因此它有时会工作,而不是用于https链接的gradle。

    链接地址: http://www.djcxy.com/p/38631.html

    上一篇: Could not resolve com.android.tools.build:gradle:2.2.3

    下一篇: how to open an IPython console connected to an exiting running kernel in PyCharm