web-dev-qa-db-fra.com

Erreur: L'exécution à échoué pour la tâche ': app: packageRelease'. > Java.io.IOException: lecture du fichier Zip

J'obtiens l'erreur suivante lorsque j'essaie de construire la version finale. J'utilise Android studio 2.3. J'ai ajouté mes fichiers de règles de progression et de progression ci-dessous et j'utilise Mac avec Mac OS X.

Error:Execution failed for task ':app:packageRelease'.
> Java.io.IOException: Failed to read Zip file '/Users/username/Documents/Android Projects/Project Name/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar'.

fichier de règles proguard

-keepclassmembers class * {
    @Android.webkit.JavascriptInterface <methods>;
}

-keepattributes JavascriptInterface
-keepattributes *Annotation*

-dontwarn com.razorpay.**
-keep class com.razorpay.** {*;}

-optimizations !method/inlining/*

-keepclasseswithmembers class * {
  public void onPayment*(...);
}

-keep @interface butterknife.*

-keepclasseswithmembers class * {
    @butterknife.* <fields>;
}

-keepclasseswithmembers class * {
    @butterknife.* <methods>;
}

-keepclasseswithmembers class * {
    @butterknife.On* <methods>;
}

-keep class **$$ViewInjector {
    public static void inject(...);
    public static void reset(...);
}

-keep class **$$ViewBinder {
    public static void bind(...);
    public static void unbind(...);
}



-keep class com.google.common.** {*;}


-dontwarn Sun.misc.Unsafe
-dontwarn javax.annotation.**

fichier de classement 

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.company.projectname"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    compile 'com.razorpay:checkout:1.2.1'
    compile 'com.Android.support:appcompat-v7:25.1.0'
    compile 'com.jakewharton:butterknife:8.5.1'
    compile 'jp.wasabeef:picasso-transformations:2.1.0'
    compile 'com.makeramen:roundedimageview:2.3.0'
    compile 'com.github.greenfrvr:hashtag-view:1.2.1'
    compile 'com.leaking.slideswitch:slideswitch:1.0.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'uk.co.chrisjenx:calligraphy:2.2.0'
    compile 'com.Android.volley:volley:1.0.0'
    compile 'com.Android.support:recyclerview-v7:25.1.0'
    compile 'com.github.devlight:infinitecycleviewpager:1.0.2'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

    testCompile 'junit:junit:4.12'
}

niveau de projet

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://dl.bintray.com/leaking/maven'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
6
Deepak John

Ce problème est référencé ici qui se produit dans le projet comprenant des noms de classe autres que ASCII. Le problème sera abordé à partir de la version 2.4 du plugin Android gradle (non encore publié à ce jour).

Une alternative consiste à rétrograder à 2.2.3:

classpath 'com.Android.tools.build:gradle:2.2.3'
11
Bertrand Martel

Pour moi, cette erreur s'est produite lorsque je construisais un projet sous Windows, où l'accès en écriture était réservé aux utilisateurs administrateurs et où le studio Android était lancé en mode normal (et non en mode administrateur). Lorsque j'ai lancé Android Studio avec "Exécuter en tant qu'administrateur", l'accès en écriture était disponible et .apk a été généré avec succès.

0
Adomas