2016-02-18 26 views
12

zacząłem coraz to błędy obłąd Lint na Okio

**InvalidPackage: Package not included in Android** 

../../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.6.0/98476622f10715998eacf9240d6b479f12c66143/okio-1.6.0.jar: Invalid package reference in library; not included in **Android: java.nio.file**. Referenced from **okio.Okio**. 

Używam:

compile 'com.squareup.okhttp:okhttp:2.5.0' 

zrobiłem trochę czytania na to samo w poniższych linków:

https://github.com/square/okio/issues/58

https://github.com/square/okhttp/issues/896

Mam 2 pytania do tego samego

Pytanie 1 :: Jaka zmiana mogła wprowadzić ten błąd? Kod został skompilowany Okej wcześniej, nie sądzę, że uaktualnienie Gradle do 2.10/2.11 lub uaktualnienie Androida Studio 2.0 beta 4/AS 2.0 beta 5 mogło wprowadzić ten błąd. Jak próbowałem przywrócić wszystko z powrotem. Ale wciąż dostaję ten sam błąd!

Pytanie 2 :: Nie chcę wyłączać szarpie ani dodawać kolejnych cytatów w mojej aplikacji. Jaki jest najlepszy sposób na powstrzymanie tego błędu?

lintOptions { 
    warning 'InvalidPackage' 
} 
+0

ten sam błąd tutaj – David

Odpowiedz

9

Można wyłączyć ostrzeżenie specjalnie do tego błędu, tworząc plik konfiguracyjny szarpie:

<lint> 
    <issue id="InvalidPackage"> 
     <ignore regexp="okio-1.6.0.jar"/> 
    </issue> 
</lint> 

a następnie zastosować tę konfigurację w pliku produkcji:

android { 
    ... 

    lintOptions { 
     lintConfig file("lint.xml") 
    } 

    ... 
} 
+2

pamiętaj, aby użyć tej samej wersji okio jar jak to jest w logu błędu> 'okio-1.6.0.jar' w tym przypadku, musiałem zmienić na' 1.11.0.jar' – deadfish

+1

po prostu mówi nam, jak zamaskować problem - wciąż nie rozumiemy, co to znaczy i dlaczego musimy go zamaskować! Thanks anyways –

+0

Możesz uogólnić wyrażenie regularne '" okio-1.6.0.jar "' na '" okio. * Jar "'. –

2

można spróbować dodaj to do build.gradle

android { 
... 

lintOptions { 
    disable 'InvalidPackage' 
} 

... 

}

0

kevinpelgrims' answer można uogólnić tak, że nie trzeba pamiętać, aby zmodyfikować plik lint.xml każdym razem zaktualizować bibliotekę Okio w projekcie, co następuje:

<lint> 
    <issue id="InvalidPackage" severity="error"> 
     <ignore regexp="okio.*jar"/> 
    </issue> 
</lint> 

i twoi build.gradle jest jak na innych odpowiedzi w tym wątku, tj

android { 
    lintOptions { 
     abortOnError true 
     lintConfig file("lint.xml") 
    } 
} 

natknąłem powyższym niestrzępiącą xml urywek w this gitHub komentarza.