Gradle卡在mergeDebugAssets上,甚至没有失败

时间:2015-06-18 15:45:38

标签: android android-gradle

我有一个Android项目,我在Android Studio中运行。我之前运行过这个项目,但现在我做了一些更改(虽然我不记得我做了什么),然后当我使用Gradle构建它时,它被卡在mergeDebugAssets中。我甚至不会看到一个错误,它就在那里等待事情发生,显然。我也尝试过清洁,但同样的步骤也会卡住。我尝试从Android Studio和命令行(使用-d选项)运行它,但结果是一样的,并且没有其他消息可以帮助我开始查找问题

我的gradle文件:

apply plugin: 'android'
apply plugin: 'maven'

version '1.1'
group 'com.baker'

repositories {
    maven { url "http://dl.bintray.com/populov/maven" }
    mavenCentral()
    maven {
        url 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath
    }
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 21

        testApplicationId "com.baker.abaker.test"
        testInstrumentationRunner "android.test.InstrumentationTestRunner"
    }
}

uploadArchives {
    repositories {
        mavenDeployer {
            // Due to a bug in gradle 0.4.2 to 0.4.4 we use this way to get the maven local repository path.
            repository url: 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath
        }
    }
}
task install(dependsOn: uploadArchives)

dependencies {
    compile 'com.google.android.gms:play-services:6.1.71'
    compile 'com.android.support:support-v4:21.0.0'
    compile 'org.jsoup:jsoup:1.7.3'
    compile 'org.apache.commons:commons-compress:1.8.1'
    compile 'com.viewpagerindicator:library:2.4.1@aar'
    compile project(':GooglePlayLicence')
    compile project(':GooglePlayDownloader')
}

gradlew.bat assembleDebug -d的相关输出:

10:38:34.486 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :ABaker:mergeDebugAssets
10:38:34.486 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter                                                                    ]
Starting to execute task ':ABaker:mergeDebugAssets'
10:38:34.503 [DEBUG] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter                                                                         ]
Determining if task ':ABaker:mergeDebugAssets' is up-to-date
10:41:46.358 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter                                                                          ]
Executing task ':ABaker:mergeDebugAssets' (up-to-date check took 3 mins 11.847 secs) due to:
  Output file H:\Proyectos\LGBT.Android\ABaker\build\intermediates\incremental\mergeAssets\debug has changed.
  Output file H:\Proyectos\LGBT.Android\ABaker\build\intermediates\assets\debughas changed.
  Output file H:\Proyectos\LGBT.Android\ABaker\build\intermediates\assets\debug\books\LGTB\assets\images\7_5_3_1@2x.jpg has changed.
10:41:46.371 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter                                                                       ]
Executing actions for task ':ABaker:mergeDebugAssets'.
10:41:46.391 [INFO] [org.gradle.api.internal.changedetection.changes.RebuildIncrementalTaskInputs                                                              ]
All input files are considered out-of-date for incremental task ':ABaker:mergeDebugAssets'.
10:41:46.410 [INFO] [org.gradle.api.Project] Unable do incremental execution: full task run
10:41:56.735 [INFO] [org.gradle.api.Project] deleteDir(H:\Proyectos\LGBT.Android\ABaker\build\intermediates\assets\debug) returned: true

它似乎检测到图像的变化(7_5_3_1@2x.jpg),我确信这种变化并未发生。我的更改仅在Java代码中进行。

3 个答案:

答案 0 :(得分:1)

我自己遇到了这个问题。

:app:mergeDebugAssetsassets文件夹中的内容有关。

我那里有一个myApp.realm文件,这没问题。问题是我在Realm Studio中打开了文件,该文件在myApp.realm.management中创建了myApp.realm.lock目录和assets文件。

删除这些生成的文件解决了我的特定问题。

我希望这可以帮助其他人从Google登陆。

答案 1 :(得分:0)

真正的问题不在于流程被卡住了,而是我的项目非常庞大,只需一个小时的更改就可以使构建成功完成。

现在我必须调查为什么我的项目如此之大,但这超出了这个问题的范围。

答案 2 :(得分:-1)

检查您的R.java是否有该图像代码,然后搜索您使用该图像的位置,然后您可能会理解您做错了什么