我有一个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代码中进行。
答案 0 :(得分:1)
我自己遇到了这个问题。
:app:mergeDebugAssets
与assets
文件夹中的内容有关。
我那里有一个myApp.realm
文件,这没问题。问题是我在Realm Studio中打开了文件,该文件在myApp.realm.management
中创建了myApp.realm.lock
目录和assets
文件。
删除这些生成的文件解决了我的特定问题。
我希望这可以帮助其他人从Google登陆。
答案 1 :(得分:0)
真正的问题不在于流程被卡住了,而是我的项目非常庞大,只需一个小时的更改就可以使构建成功完成。
现在我必须调查为什么我的项目如此之大,但这超出了这个问题的范围。
答案 2 :(得分:-1)
检查您的R.java是否有该图像代码,然后搜索您使用该图像的位置,然后您可能会理解您做错了什么