gpt4 book ai didi

android - 无法在 'Android L' 模拟器上使用 OkHttp 运行应用程序

转载 作者:行者123 更新时间:2023-12-02 13:16:45 26 4
gpt4 key购买 nike

我们的应用程序使用最新版本的 OkHttp (2.0.0) + Okio (1.0.0) + Picasso (2.3.2),我想在新的“Android L”模拟器(Intel)上尝试一下,它得到了已安装,但加载应用程序时我得到以下信息:

06-27 09:47:16.214: E/AndroidRuntime(2815): FATAL EXCEPTION: main
06-27 09:47:16.214: E/AndroidRuntime(2815): 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)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.okhttp.internal.DiskLruCache.readJournal(DiskLruCache.java:243)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.okhttp.internal.DiskLruCache.open(DiskLruCache.java:224)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.okhttp.Cache.<init>(Cache.java:146)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:74)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:51)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:41)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.picasso.Utils$OkHttpLoaderCreator.create(Utils.java:407)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.picasso.Utils.createDefaultDownloader(Utils.java:255)
06-27 09:47:16.214: E/AndroidRuntime(2815): at com.squareup.picasso.Picasso$Builder.build(Picasso.java:596)

它来自于用 Picasso.with(Context) 创建 Picasso 对象。请注意,相同的代码无需任何更改,在之前的模拟器 4.4.2 (Intel) 上运行良好。

我不明白这个(“okio.Okio”声明出现在/system/framework/okhttp.jar 中) 来自何处。

更新

我正在使用 Eclipse Luna 和最新的 Android SDK 工具。我还尝试在订单/导出中选择 OkHttp jar,但错误仍然存​​在。

我使用DDMS文件资源管理器,在模拟器的路径/system/framework/okhttp.jar中找到了一个okhttp.jar(309字节)。也许这是导致问题的原因,但为什么它不查找 APK 中提供的我自己的 okhttp.jar 呢?

我暂时将提到的“okhttp.jar”文件上传到此链接:http://www.filedropper.com/okhttp

最佳答案

L 预览版未正确打包 Okio。这已在 AOSP master 的下一版本预览版中修复。

参见https://github.com/square/okhttp/issues/967解决方法包括使用 Proguard 将 Okio 重新打包到您自己的应用程序中。

关于android - 无法在 'Android L' 模拟器上使用 OkHttp 运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24453957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com