2014-09-05 58 views
1

我試圖在磁盤緩存中使用畢加索。爲此,我知道我需要包含okhttp和okio庫。當我這樣做,我得到以下內容:畢加索在應用程序啓動時崩潰

compile 'com.squareup.okio:okio:1.0.1' 
compile 'com.squareup.okhttp:okhttp:2.0.0' 
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0' 
compile 'com.squareup.picasso:picasso:2.3.4' 

java.lang.NoSuchMethodError: No static method source(Ljava/io/File;)Lokio/Source; in class Lokio/Okio; or its super classes (declaration of 'okio.Okio' appears in /system/framework/okhttp.jar) 
     at com.squareup.okhttp.internal.DiskLruCache.readJournal(DiskLruCache.java:243) 
     at com.squareup.okhttp.internal.DiskLruCache.open(DiskLruCache.java:224) 
     at com.squareup.okhttp.Cache.<init>(Cache.java:146) 
     at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:74) 
     at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:51) 
     at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:41) 
     at com.squareup.picasso.Utils$OkHttpLoaderCreator.create(Utils.java:407) 
     at com.squareup.picasso.Utils.createDefaultDownloader(Utils.java:255) 
     at com.squareup.picasso.Picasso$Builder.build(Picasso.java:605) 
     at com.squareup.picasso.Picasso.with(Picasso.java:482) 

這是一個全新的應用程序。

任何想法發生了什麼問題?

回答

0

切換到okhttp 1.6.0似乎解決了崩潰。雖然我仍然無法獲得磁盤緩存工作

0

您可以刪除Okio依賴項,它是可傳遞的。

問題在於L預覽未正確打包,並在系統類路徑中錯誤地顯示了Okio。所有的崩潰都可以作爲預發佈軟件的功能完全忽略。實際的L版本不會這樣。

更多詳細信息請見https://github.com/square/okhttp/issues/967