Android Studio停留在"Gradle:解析依赖关系'_debugCompile'"或'detachedConfiguration1'

Dan*_*ail 58 android android-studio

我不知道我在项目中改变了什么,但是在构建gradle脚本时它突然无法通过这一步.

使用'gradle assemble'构建它没有问题.

编辑:以前的卡点是解析依赖'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')

    }
}
Run Code Online (Sandbox Code Playgroud)

SBe*_*413 57

自从我切换到Android Studio以来,我经常遇到这个问题.这确实是存储库无法访问的问题 - 无论是由于网络问题,还是由于某种原因可能导致存储库崩溃.

我发现最简单的解决方法是在Android Studio偏好设置中选择"离线工作"模式.如果您需要添加新的依赖项,这没有任何帮助,但如果您已经添加了所有依赖项,那么它就可以解决问题.

要启用此设置,请转到:

首选项 - > Gradle

在右侧选项中,转到"Global Gradel Settings"并选中"Offline work"框.

该框应如下所示:

在此输入图像描述

您可以定期取消选中此框以查看回购是否重新联机.

注意:此选项相当于在从命令行运行gradle构建时设置--offline标志.


Dan*_*ail 19

事实证明,这一行:

repositories {     
  maven {     
    url 'http://ksoap2-android.googlecode.com/svn/m2-repo'    
  }
Run Code Online (Sandbox Code Playgroud)

全权负责永久卡住的Android工作室.可能今天存储库没有活动/离线...

有趣的问题:

  1. 为什么gradle脚本在终端中运行得很好?(虽然它似乎比平时慢).

  2. 为什么没有超时?它今天肯定会产生一些白发..;)


lm2*_*m2a 14

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

资源缺失.HTTP GET

因此,改变jcenter()mavenCentral()MyProject/build.gradle做的伎俩.

我希望它可以提供帮助.


小智 12

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

https://services.gradle.org/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>
Run Code Online (Sandbox Code Playgroud)


Omi*_*aha 5

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
Run Code Online (Sandbox Code Playgroud)

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

$ sudo apt-get install lib32stdc++6 lib32z1
Run Code Online (Sandbox Code Playgroud)

我发现我的启用debug和命令info选项的问题gradlw,我在项目的根目录上运行它:

首先使用此命令:

./gradlew --info --debug 
Run Code Online (Sandbox Code Playgroud)

然后使用此命令:

./gradlew --info --debug :app:generateDebugSources
Run Code Online (Sandbox Code Playgroud)

输出调试(在Android Gui上这个部分再次运行,在后台运行agian,你不知道错误信息):

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)
Run Code Online (Sandbox Code Playgroud)