【问题标题】:Picasso crashing on app startup毕加索在应用程序启动时崩溃
【发布时间】:2014-10-30 23:17:30
【问题描述】:

我正在尝试将 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)

这是一个全新的应用程序。

有什么想法吗?

【问题讨论】:

    标签: picasso okhttp


    【解决方案1】:

    切换到 okhttp 1.6.0 似乎可以解决崩溃问题。虽然我仍然无法让磁盘缓存工作

    【讨论】:

      【解决方案2】:

      你可以移除 Okio 依赖,它是传递的。

      问题是 L 预览被不正确地打包并且错误地暴露在系统类路径上的 Okio。作为预发布软件的功能,由此产生的所有崩溃都可以完全忽略。实际的 L 版本不会这样。

      更多详情请访问https://github.com/square/okhttp/issues/967

      【讨论】:

        猜你喜欢
        • 2016-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多