FileNotFoundException en el archivo proguard-rules.pro

Estoy usando Android Studio v.1.0 Mi archivo de construcción:

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

Pero cuando intento hacer una compilación de la liberación, consigo un error: Error: La ejecución falló para la tarea ': app: proguardRelease'.

Java.io.FileNotFoundException: F: …. \ app \ proguard-rules.pro (archivo no encontrado)

Creo que proguard-android.txt es una parte de SDK de Android, ¿no?

¿Y por qué Android Studio no puede encontrarlo?

También intenté proguard-android.pro – el mismo resultado

Si no necesita ninguna configuración específica de ProGuard:

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

(La advertencia pudo haber ocurrido)

O especificar "reglas" y ponerlo aquí:

 .../app/proguard-rules.pro 

Por ejemplo, uso "Butter Knife" y mi proguard-rules.pro se parece a:

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

O, posiblemente, puede dejar build.gradle archivo como es (si no te gusta las advertencias)), Y acaba de poner un vacío proguard-rules.pro a esa ubicación.

He creado mi propio archivo proguard-android.pro y funciona correctamente para mí:

 -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 siguiente línea en el archivo build.gradle de su módulo de aplicación indica que la secuencia de comandos de proguard debe aplicarse a su versión de lanzamiento. Tiene dos archivos:

  1. proguard-android.txt : es el archivo proguard predeterminado de android, que se puede encontrar en el directorio D: \ SDK \ tools \ proguard de SDK.
  2. 'Proguard-rules.pro': contiene su script proguard específico de la aplicación. Necesita crear este archivo en la carpeta raíz de su aplicación. Toda su aplicación específica proguard debe estar dentro de este archivo.

Compruebe por favor su "proguard-rules.pro" dentro de su carpeta del proyecto de la raíz. I su proyecto exportado desde eclipse debe crear 'proguard-rules.pro' dentro de la carpeta del proyecto raíz.

Una solución es descargar uno de los siguientes:

 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 

Y copie los siguientes archivos:

 tools/hprof-conv tools/support/annotations.jar tools/proguard 
  • ¿Cómo configurar Proguard para eliminar mensajes no triviales de registro?
  • NullPointerException al usar el archivo XML en res / raw con Proguard
  • Proguard devolvió error con la biblioteca de Servicios de Google Play
  • Anular correctamente las opciones de proguard
  • ¿Cómo invertir el ingeniero / descompilar un APK Android que se ofuscó con ProGuard?
  • Android y Proguard - cómo ofuscar, pero no optimizar ningún código?
  • Proguard convierte todos los enums en int o necesita ser configurado para este
  • Proguard parecen eliminar un paquete completo que se incluye en el camino
  • Android-Studio-1.2.RC Advertencias de Proguard en la referencia de la biblioteca de Square Okio
  • ¿Cómo se hace una versión de lanzamiento androide firmado y obfuscated desde dentro de eclipse?
  • No se puede configurar Proguard para extraer APK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.