Android-Studio-1.2.RC Proguard предупреждения относно препратката към библиотеката Okio на Square

С Android Studio: 1.2.RC

Активирах proguard в .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'

```

Но все още получавам тези предупреждения, когато се опитам да стартирам приложението в режим на отстраняване на грешки:

```
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

```

Толкова е странно, тъй като добавих тези правила/опции към всички мои библиотечни модули, които зависят от OkHttp/Picasso, не знам къде се обърка, може би това е грешка в Android Studio? Някой има ли улики за този проблем?

Отворих проблем в github.


person Bodhi Hu    schedule 27.04.2015    source източник
comment
Можете да пренебрегнете тези предупреждения. github.com/square/okio/issues/60   -  person Pdksock    schedule 27.04.2015


Отговори (2)


Деактивирахте предупрежденията за

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

Но какво да кажем за пакетите (както се вижда в публикувания от вас дневник)

-dontwarn org.codehaus
-dontwarn java.nio

Така или иначе, игнорирането на предупрежденията не е добър подход.

Опитайте се да предпазите тези класове от минимизиране по следния начин:

-keep public class org.codehaus.**
-keep public class java.nio.**
person Martin Konecny    schedule 27.04.2015

Господи, забравих да посоча proguard файла за моята компилация за отстраняване на грешки, добавянето на правилото 'proguardFiles' ще реши проблема:

    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"
        }
    }

Един от онези моменти, когато сте търсили усилено ключовете си и те са точно в джоба ви.

person Bodhi Hu    schedule 28.04.2015
comment
същото се случи и с мен. моето име на proguard файл по подразбиране беше „proguard-android.txt“ и пишех правила в „proguard-rules.pro“. - person akshay bhange; 14.11.2015