Espresso-android jar – «Ошибка открытия zip-файла» в студии Android 8.x

Я получаю эту ошибку, я пробовал решение, указанное здесь: Android studio - Не удалось завершить выполнение Gradle - ошибка при открытии zip-файла

Эта ошибка убивает меня, я пытался удалить папку .gradle. Я заметил, что в папке .idea\libraries есть куча xml, и я попытался удалить это (думая, что он хранит что-то неправильное), и это тоже было не так.

Я сузил его до банок, загруженных с сайта espresso-android, 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'
}

person Jono    schedule 13.08.2014    source источник
comment
Похоже, что ZIP-файл, указанный в сообщении об ошибке, поврежден — попробуйте повторно скопировать его и убедитесь, что у вас есть права на его чтение. Может быть, попробуйте вручную распаковать его, чтобы убедиться, что он действителен.   -  person Scott Barta    schedule 13.08.2014
comment
Я подумал о разрешениях и попытался посмотреть, имеет ли это значение.   -  person Jono    schedule 13.08.2014


Ответы (1)


Я обнаружил, что проблема заключалась в том, что я загружал банки с сайта эспрессо: https://code.google.com/p/android-test-kit/source/browse/#git, щелкнув их правой кнопкой мыши и выбрав "Сохранить как", что действительно загрузило баночки, они просто не работали по какой-то непонятной причине. Даже повторив это, они все равно не сработали - я проверил, что у меня есть разрешение (так как у меня макинтош и он немного обидчивый).

Мне пришлось загрузить все файлы в виде zip-архива, разархивировать все это целиком и вручную выбрать и перетащить все нужные мне банки из соответствующих папок.

Изменить: введите здесь описание изображениявы увидите 'скачать zip' в внизу справа от захвата экрана. Это то, что я щелкнул и распаковал для рабочих банок.

person Jono    schedule 13.08.2014
comment
хм .... у меня такая же проблема, но я не вижу, где вы можете скачать почтовый индекс банок .... просто почтовый индекс исходного кода. - person Tim Boland; 01.09.2014
comment
@TimBo Я добавил снимок экрана с указанием местоположения. Посмотрите и проголосуйте, если это работает для вас. ;-) - person Jono; 01.09.2014