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

Gradle is stuck on mergeDebugAssets, doesn't even fail

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

我的 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_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 代码中进行。

真正的问题不是进程卡住了,而是我的项目太大了,一次更改需要一个多小时才能成功完成构建。

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

我自己刚遇到这个问题。

:app:mergeDebugAssets 与您 assets 文件夹中的任何内容相关。

我有一个 myApp.realm 文件,这不是问题。问题是我在 Realm Studio 中打开了文件,它在 assets.

中创建了一个 myApp.realm.management 目录和 myApp.realm.lock 文件

删除那些生成的文件解决了我的具体问题。

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