【问题标题】:Espresso-android jar - 'Error in opening zip file' in android studio 8.xEspresso-android jar - android studio 8.x 中的“打开 zip 文件时出错”
【发布时间】:2014-08-13 00:22:35
【问题描述】:

我一直收到此错误,我已尝试此处所述的解决方案:Android studio - Failed to complete gradle execution - error in opening zip file

这个错误要了我的命,我试过删除 .gradle 文件夹。我注意到 .idea\libraries 文件夹中有一堆 xml,我尝试删除它(认为它存储了一些错误),但事实并非如此。

我已将其范围缩小到从 espresso-android 站点下载的 jars、espresso-1.1.jar 和测试运行程序 - 我已经验证,在没有它们的依赖项中它可以工作。一旦它们被添加,它就不会。我什至可以添加其他依赖项并且它可以工作。所以我不知道为什么这些罐子是例外但它们不起作用。

:app:compileDebugJava
error: error reading /Users/busyer_jonathan/AndroidStudioProjects/TestVersion/app/libs/testrunner-runtime-1.1.jar; error in opening zip file
error: error reading /Users/busyer_jonathan/AndroidStudioProjects/TestVersion/app/libs/testrunner-1.1.jar; error in opening zip file
error: error reading /Users/busyer_jonathan/AndroidStudioProjects/TestVersion/app/libs/testrunner-runtime-1.1.jar; error in opening zip file
error: error reading /Users/busyer_jonathan/AndroidStudioProjects/TestVersion/app/libs/testrunner-1.1.jar; error in opening zip file

:app:preDexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:214)
    at java.util.zip.ZipFile.<init>(ZipFile.java:144)
    at java.util.zip.ZipFile.<init>(ZipFile.java:158)
    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
    at com.android.dx.command.dexer.Main.processOne(Main.java:596)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)
1 error; aborting

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Applications/Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output /Users/busyer_jonathan/AndroidStudioProjects/TestVersion/app/build/intermediates/pre-dexed/debug/testrunner-runtime-1.1-9d180daedad4578babced4673aa1a80a8f70f413.jar /Users/busyer_jonathan/AndroidStudioProjects/TestVersion/app/libs/testrunner-runtime-1.1.jar
  Error Code:
    1
  Output:

    UNEXPECTED TOP-LEVEL EXCEPTION:
    java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:214)
        at java.util.zip.ZipFile.<init>(ZipFile.java:144)
        at java.util.zip.ZipFile.<init>(ZipFile.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:596)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)
    1 error; aborting


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

这是我的构建文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.edu.testversion"
        minSdkVersion 16
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
        //testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'LICENSE.txt'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/json_simple-1.1.jar',
            'libs/testrunner-1.1.jar',
            'libs/testrunner-runtime-1.1.jar')
    compile files('libs/scribe-1.3.5.jar')
    compile 'com.android.support:support-v4:20.0.0'
    compile 'com.google.android.gms:play-services:5.0.77'
    compile 'com.android.support:appcompat-v7:20.0.0'
    androidTestCompile 'org.mockito:mockito-core:1.9.+'
    androidTestCompile 'org.objenesis:objenesis:1.2'
    //Espresso dependencies includes guava, hamcrest, dagger, javax annotation
    androidTestCompile 'com.google.guava:guava:14.0.1',
            'com.squareup.dagger:dagger:1.1.0',
            'org.hamcrest:hamcrest-integration:1.1',
            'org.hamcrest:hamcrest-library:1.1'
}

【问题讨论】:

  • 似乎错误消息中列出的 zip 文件已损坏 - 尝试重新复制它并确保您有权读取它。也许尝试手动解开它以查看它是否有效。
  • 我想到了权限问题,并试图看看这是否有所作为。

标签: android-studio android-gradle-plugin android-espresso


【解决方案1】:

我发现问题是我正在从 espresso 网站下载罐子:https://code.google.com/p/android-test-kit/source/browse/#git 通过右键单击它们并单击“另存为”-确实下载了罐子,但它们对某些人不起作用奇怪的原因。即使重复这一点,他们仍然没有工作 - 我检查了我是否获得了许可(因为我有一个 mac 并且它有点敏感)。

我必须以 zip 格式下载所有文件,解压缩整个文件,然后从它们各自的文件夹中手动挑选并拖出我需要的所有 jar。

编辑: 你会在屏幕抓取的右下方看到 'download zip'。这就是我点击并解压缩工作 jar 的内容。

【讨论】:

  • hmm....我有同样的问题,但我看不到你可以在哪里下载 jar 的 zip....只是源代码的 zip。
  • @TimBo 我添加了一个带有位置的屏幕抓取。如果它适合您,请查看并投票。 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-12
  • 2017-08-14
  • 1970-01-01
相关资源
最近更新 更多