Android Studio卡在“Gradle:解决依赖关系_debugCompile”或“detachedConfiguration1”

我不知道我在项目中改变了什么,但是在构buildgradle脚本时突然无法完成这一步。

用“gradle汇编”构build它没有任何问题。

编辑:以前的卡住点是解决依赖detachedConfiguration1'。 (在_debugCompile第一次失败的尝试后,我回到detachedConfiguration1)。 我想这是太多的依赖项目? 我在Studio中导入的一些示例项目很好……我重新安装了Android Studio并删除了所有设置和首选项。

每当它开始这样做,我都必须杀死它。

敲响任何铃声?

import com.android.build.gradle.AppPlugin import com.android.build.gradle.LibraryPlugin // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } apply plugin: 'android' repositories { maven { url 'http://ksoap2-android.googlecode.com/svn/m2-repo' } mavenCentral() } dependencies { compile 'com.google.code.ksoap2-android:ksoap2-android:2.5.2' compile 'com.android.support:support-v4:18.0.+' compile fileTree(dir: 'libs', include: '*.jar') compile project(':lib-projects:StickyListHeaders') compile project(':lib-projects:ActionBar-PullToRefresh') compile project(':lib-projects:facebook') compile project(':lib-projects:Mopub:mopub-sdk') compile project(':lib-projects:NineOldAndroids') compile project(':lib-projects:ActionBarSherlock:actionbarsherlock') compile project(':lib-projects:ActionBarSherlock:actionbarsherlock-i18n') compile project(':lib-projects:SmoothProgressBar') compile project(':lib-projects:android-viewflow-master:viewflow') } android { signingConfigs { debug { storeFile file('....') } } compileSdkVersion 19 buildToolsVersion "19.0.3" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... //instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } 

自从我切换到Android Studio以来,我经常遇到这个问题。 这确实是一个问题,因为存储库不能访问 – 无论是由于networking问题还是由于任何原因更有可能导致回购。

我find的最简单的解决方法是在Android Studio偏好设置中select“工作离线”模式。 如果你需要添加一个新的依赖关系,这并没有什么帮助,但是如果你已经添加了所有的依赖关系,那么这个技巧就行了。

要启用此设置,请转到:

首选项 – > Gradle

在右侧选项中select“Global Gradel Settings”,然后选中“Offline work”框。

该框应该看起来像:

在这里输入图像描述

您可以定期取消选中此框以查看回购是否恢复在线状态。

注意 :这个选项相当于从命令行运行gradle build时设置–offline标志。

事实certificate,这条线:

 repositories { maven { url 'http://ksoap2-android.googlecode.com/svn/m2-repo' } 

是唯一负责永久卡住的Android工作室。 可能是版本库今天没有活动/脱机…

有趣的问题:

  1. terminal上的gradle脚本怎么运行得很好? (尽pipe看起来比平时慢)。

  2. 怎么没有这个时间? 它今天确实创造了一些白发…;)

请使用-info从命令行运行gradle(在您的项目文件夹中打开一个terminal),并检查停止的地方。 我遇到类似的东西,它与jcenter()有关,因为它无法访问资源:

资源缺失。 HTTP GET

所以,在MyProject/build.gradle通过mavenCentral()来更改jcenter() mavenCentral() MyProject/build.gradle这个function。

我希望它可以帮助。

我遇到了同样的问题,并通过在gradle.properties文件中添加http和https代理来解决此问题。 添加https代理非常重要,因为gradle-2.10-all.zip是使用https:

distributions/gradle-2.10-all.zip

gradle.properties:

 systemProp.http.proxyHost=<http proxy name> systemProp.http.proxyPort=<http proxy port> systemProp.https.proxyHost=<https proxy name> systemProp.https.proxyPort=<https proxy port> 

Debian

我有同样的问题,修改了两个变化,

首先在gradle.properties文件上为gradle启用代理,对于httphttps

 systemProp.http.proxyHost=127.0.0.1 systemProp.http.proxyPort=8080 systemProp.https.proxyHost=127.0.0.1 systemProp.https.proxyPort=8080 

然后通过安装lib32stdc++6lib32z1包:

 $ sudo apt-get install lib32stdc++6 lib32z1 

我发现我的问题,启用debuginfo选项gradlw命令,我运行它的项目的根:

先用这个命令:

 ./gradlew --info --debug 

接下来是这个命令:

 ./gradlew --info --debug :app:generateDebugSources 

输出debugging(在Android Gui上,这部分再次运行,并在后台不知道错误信息):

 23:25:45.419 [ERROR] [system.err] Exception in thread "png-cruncher_10" java.lang.RuntimeException: Timed out while waiting for slave aapt process, make sure the aapt execute at /local/path/to/Android/sdk/build-tools/22.0.1/aapt can run successfully (some anti-virus may block it) or try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds 23:25:45.419 [ERROR] [system.err] at com.android.builder.png.AaptProcess.waitForReady(AaptProcess.java:108) 23:25:45.419 [ERROR] [system.err] at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:110) 23:25:45.419 [ERROR] [system.err] at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:203) 23:25:45.419 [ERROR] [system.err] at java.lang.Thread.run(Thread.java:745) 

如果您使用的是代理服务器,则可能需要为您的代理设置JVM参数。

设置 – > Gradle – > Gradle VM选项:-Dhttp.proxyHost = 1.2.3.4 -Dhttp.proxyPort = 8080设置 – >编译器 – > VM选项:-Dhttp.proxyHost = 1.2.3.4 -Dhttp.proxyPort = 8080

我必须重新启动IDE才能使这些设置生效。

从浏览器中检查http://bintray.comjcenter )或http://maven.orgmavenCentral ),并根据可用站点更改build.gradle repositories设置。

我通过在工作项目中复制Gradle设置并将它们粘贴到错误的build.gradle文件中来修复了我的问题。

我今天有类似的问题,在我的情况下,我发现这是因为我的外部依赖之一难以从互联网上拉。

以下是我解决它的方法:

步骤1

检查应用程序中的build.gradle文件(或库模块,根据问题发生的位置)的dependencies

例如,它可能看起来像这样:

 dependencies { ... compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.amazonaws:aws-android-sdk-iot:2.2.20' } 

第2步

猜猜哪一个可能是根本原因(即看起来难以拉动的那个)。

在我的情况下,我认为'com.amazonaws:aws-android-sdk-iot:2.2.20'看起来很可疑,所以我将它评论出来,然后尝试再次构buildGradle。 这一次,Gradle构build成功了。

第3步

search其他工件版本。

在我的情况下,我searchhttps://bintray.com/bintray/jcenter/com.amazonaws%3aaws-android-sdk-iot ,发现2.2.22也可用(目前)。

我在build.gradle尝试了2.2.21现在Gradle构build工作正常!

 dependencies { ... compile 'com.amazonaws:aws-android-sdk-iot:2.2.21' } 

其他参考

要了解更多关于Gradle中的外部依赖关系,请检查这些网站:

只是提供我的经验,以防其他情况遇到以下情况。

我面临的问题是我的一个仓库托pipe在我的公司networking上,而不是公共networking上。 VPN'ing后,我能够“解决依赖”。