我正在尝试将Picasso与磁盘缓存一起使用。为此,我了解我需要包含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 :(得分:0)
切换到okhttp 1.6.0似乎可以解决崩溃问题。虽然我仍然无法让磁盘缓存工作
答案 1 :(得分:0)
您可以删除Okio依赖项,它是可传递的。
问题是L预览包装不正确,并且在系统类路径上错误地暴露了Okio。作为预发布软件的功能,可以完全忽略所有崩溃。实际的L版本不会以这种方式运行。