我有一个 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 代码中进行。
最佳答案
我自己也遇到过这个问题。
:app:mergeDebugAssets
与您在 assets
文件夹中的任何内容相关。
我有一个 myApp.realm
文件,这不是问题。问题是我在 Realm Studio 中打开了文件,它在 assets< 中创建了一个
.myApp.realm.management
目录和 myApp.realm.lock
文件
删除那些生成的文件解决了我的具体问题。
我希望这可以帮助其他人从 Google 登陆这里。
关于android - Gradle 卡在 mergeDebugAssets 上,甚至没有失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30920036/