在android studio中导入我的一个古老的eclipse安卓项目。构建失败:
ImmutableJarInput{name=main, file=C:\Dropbox\eclipse_workspaces\_android_studio\monitoringModel\build\intermediates\transforms\mergeJavaRes\release\jars\2\3\main.jar, contentTypes=RESOURCES, scopes=PROJECT,PROJECT_LOCAL_DEPS, status=NOTCHANGED}
ImmutableDirectoryInput{name=release, file=C:\Dropbox\eclipse_workspaces\_android_studio\monitoringModel\build\intermediates\classes\release, contentTypes=CLASSES, scopes=PROJECT, changedFiles={}}
:monitoringModel:transformClassesAndResourcesWithSyncLibJarsForRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':monitoringModel:transformClassesAndResourcesWithSyncLibJarsForRelease'.
> java.util.zip.ZipException: ZIP file must have at least one entry
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':monitoringModel:transformClassesAndResourcesWithSyncLibJarsForRelease'.
...
Caused by: java.lang.RuntimeException: java.util.zip.ZipException: ZIP file must have at least one entry
...
Caused by: java.util.zip.ZipException: ZIP file must have at least one entry
Gradle的新手 - 如何调试?
答案 0 :(得分:1)
我有一个文件build.gradle
:
dependencies {
compile project(':androidHelpers')
compile files('libs/zip4j-1.3.1-javadoc.jar')
compile files('libs/zip4j_1.3.1.jar')
}
现在libs/zip4j-1.3.1-javadoc.jar
并不打算编译(很明显) - 在eclipse项目文件中排除了第一个错误。
所以我继续发表评论:
dependencies {
compile project(':androidHelpers')
// compile files('libs/zip4j-1.3.1-javadoc.jar')
compile files('libs/zip4j_1.3.1.jar')
}
IDE帮助我告知构建文件已更改,我应该"同步" - 我做了并继续得到同样的例外!所以我认为这是另一个文件,这让我进行了一次追逐 - 我随机谷歌建议解压缩并重新包装等。调试输出的异常或(当然)都没有引用有问题的文件。控制台显示:
Error:java.util.zip.ZipException: error in opening zip file
y be corrupt (this sometimes occurs after a network connection timeout.)
<a href="syncProject">Re-download dependencies and sync project (requires network)</a>
<a href="syncProject">Re-download dependencies and sync project (requires network)</a>
(原文如此 - 第二个bug)让我觉得libs / zip4j_1.3.1.jar有问题。好吧sync
还不够 - 我必须 Build > Clean Project
导致gradle(尽管同步)试图编译已缓存到某处的javadoc zip(第三个bug) ):
已添加输入文件C:\ Dropbox \ eclipse_workspaces_android_studio \ monitoringModel \ build \ intermediates \ bundles \ release \ libs \ zip4j-1.3.1-javadoc.jar。
三个错误和计数 - 如果有人知道如何避免这些陷阱 - 或者实际上为什么地球上的gradle在同步时保持其缓存请发表评论。
答案 1 :(得分:-1)
我改变了
dependencies {
compile project(':androidHelpers')
compile files('libs/zip4j-1.3.1-javadoc.jar')
compile files('libs/zip4j_1.3.1.jar')
}
到
dependencies {
compile project(':androidHelpers')
provide files('libs/zip4j-1.3.1-javadoc.jar')
provide files('libs/zip4j_1.3.1.jar')
}