2015-04-27 15 views
7

con Android Studio: 1.2.RCavvertimenti Android-Studio-1.2.RC Proguard su Okio biblioteca di riferimento di Piazza

mi hanno permesso Proguard in .gradle: `` `

minifyEnabled=true 

and added these rules to my proguard-rules.pro:

-dontwarn com.squareup.** 
-dontwarn okio.** 

and added these lint rules to my .gradle file:

warningsAsErrors false 
abortOnError false 
disable 'InvalidPackage' 

`` `

Ma ho ancora questi di avviso quando si tenta di eseguire l'applicazione in modalità di debug:

``` 
Warning: okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 
Warning: okio.Okio: can't find referenced class java.nio.file.Files 
Warning: okio.Okio: can't find referenced class java.nio.file.Files 
Warning: okio.Okio: can't find referenced class java.nio.file.Files 
Warning: okio.Okio: can't find referenced class java.nio.file.Path 
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption 
Warning: okio.Okio: can't find referenced class java.nio.file.Path 
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption 
Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 
Warning: okio.Okio: can't find referenced class java.nio.file.Path 
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption 
Warning: okio.Okio: can't find referenced class java.nio.file.Path 
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption 
Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 
Warning: there were 14 unresolved references to classes or interfaces. 
     You may need to add missing library jars or update their versions. 
     If your code works fine without the missing classes, you can suppress 
     the warnings with '-dontwarn' options. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) 
:app:proguardDebug FAILED 

` ``

E 'così strano da quando ho aggiunto anche queste regole/opzioni per tutti i miei moduli di libreria che dipendono da OkHttp/Picasso, non so dove sia andato storto, forse questo è un bug di Android Studio? Qualcuno ha qualche indizio di questo problema?

Ho aperto uno issue su github.

+0

È possibile ignorare questi avvisi. https://github.com/square/okio/issues/60 –

risposta

2

Oh Cristo, ho dimenticato di specificare il file Proguard per la mia generazione di debug, aggiungendo la regola 'proguardFiles' risolverebbe il problema:

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

Uno di quei momenti in cui hai cercato con cura le tue chiavi ed è giusto in tasca.

+0

stessa cosa è successo con me. il mio nome di file proguard predefinito era "proguard-android.txt" e stavo scrivendo regole in "proguard-rules.pro". –

19

Tu hai avvertenze disabilitare per

-dontwarn com.squareup.** 
-dontwarn okio.** 

Ma che dire per i pacchetti (come si vede nel log pubblicato)

-dontwarn org.codehaus 
-dontwarn java.nio 

In entrambi i casi, ignorando gli avvertimenti non è un buon approccio.

provare a tenere queste classi vengano ridotte di questo modo:

-keep public class org.codehaus.** 
-keep public class java.nio.**