FileNotFoundException sur le fichier proguard-rules.pro

J'utilise Android Studio v.1.0 Mon fichier de construction:

buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 

Mais quand j'essaie de créer une version, j'avance une erreur: Erreur: échec d'exécution pour la tâche ': application: proguardRelease'.

  • Mécanisme de collision id idy pour R.java
  • Problème avec RelativeLayout lorsque la visibilité est View.GONE
  • L'événement ListView onClick ne déclenche pas avec l'adresse de courrier électronique liée
  • Comment obtenir un uri d'une ressource d'image dans Android
  • Utilisation de blobstore avec Google Endpoint et Android
  • Android: différence entre ACTION_UP et ACTION_POINTER_UP
  • Java.io.FileNotFoundException: F: …. \ app \ proguard-rules.pro (Fichier introuvable)

    Je pense que proguard-android.txt fait partie du SDK d'Android, n'est-ce pas?

    Et pourquoi Android Studio ne peut pas le trouver?

    J'ai également essayé proguard-android.pro – le même résultat

    5 Solutions collect form web for “FileNotFoundException sur le fichier proguard-rules.pro”

    Si vous n'avez pas besoin d'une configuration ProGuard spécifique:

     buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt') } } 

    (L'avertissement pourrait se produire)

    Ou spécifiez "règles" et mettez-le ici:

     .../app/proguard-rules.pro 

    Par exemple, j'utilise "Butter Knife" et mon proguard-rules.pro ressemble à:

     -keep class butterknife.** { *; } -dontwarn butterknife.internal.** -keep class **$$ViewInjector { *; } -keepclasseswithmembernames class * { @butterknife.* <fields>; } -keepclasseswithmembernames class * { @butterknife.* <methods>; } 

    Ou, peut-être, vous pouvez laisser le fichier build.gradle tel qu'il est (si vous n'aimez pas les avertissements)), et mettez simplement un proguard-rules.pro vide à cet emplacement.

    J'ai créé mon propre fichier proguard-android.pro et cela fonctionne correctement pour moi:

     -dontwarn org.apache.commons.** -dontwarn com.google.** -dontwarn com.j256.ormlite** -dontwarn org.apache.http** -keepattributes SourceFile,LineNumberTable -keep class com.j256.** -keepclassmembers class com.j256.** { *; } -keep enum com.j256.** -keepclassmembers enum com.j256.** { *; } -keep interface com.j256.** -keepclassmembers interface com.j256.** { *; } -keepattributes Signature # GSON Library # For using GSON @Expose annotation -keepattributes *Annotation* # Gson specific classes -keep class sun.misc.Unsafe { *; } #-keep class com.google.gson.stream.** { *; } # Application classes that will be serialized/deserialized over Gson -keep class com.google.gson.examples.android.model.** { *; } # Google Map -keep class com.google.android.gms.maps.** { *; } -keep interface com.google.android.gms.maps.** { *; } 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

    La ligne suivante dans le fichier build.gradle de votre module d'application indique que le script de Proguard doit s'appliquer à votre version. Il a deux fichiers:

    1. proguard-android.txt : est le fichier proguard par défaut android, peut être trouvé dans le répertoire D: \ SDK \ tools \ proguard de SDK.
    2. 'Proguard-rules.pro': il contient votre script Proguard spécifique à l'application. Vous devez créer ce fichier dans le dossier racine de votre application. Tous les proguard spécifiques de votre application devraient être dans ce fichier.

    Vérifiez votre «proguard-rules.pro» dans votre dossier de projet racine. Si votre projet exporté depuis eclipse, vous devez créer 'proguard-rules.pro' dans le dossier du projet racine.

    Une solution de contournement consiste à télécharger l'une des options suivantes:

     http://dl.google.com/android/android-sdk_r22.6.2-linux.tgz http://dl.google.com/android/android-sdk_r22.6.2-windows.zip http://dl.google.com/android/android-sdk_r22.6.2-macosx.zip 

    Et copiez les fichiers suivants:

     tools/hprof-conv tools/support/annotations.jar tools/proguard 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.