【问题标题】:OkHttp 3 and HttpURLConnectionOkHttp 3 和 HttpURLConnection
【发布时间】:2019-03-20 02:24:02
【问题描述】:

我有点困惑如何将 OkHttp 升级到 v3.0.0,同时保留使用 HttpURLConnection 的代码。 我们当前的依赖项是:

compile 'com.squareup.okhttp:okhttp:2.7.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.7.0'

变更日志指出:

不推荐使用 Apache HTTP 客户端和 HttpURLConnection API。它们继续像往常一样工作,但我们正在将所有内容移至新的 OkHttp 3 API。 okhttp-apache 和 okhttp-urlconnection 模块应该只用于加速向 OkHttp 的请求/响应 API 的转换。这些已弃用的模块将在即将发布的 OkHttp 3.x 版本中删除。

很遗憾,我不清楚“我们将所有内容都迁移到新的 OkHttp 3 API”是什么意思。

我尝试依赖com.squareup.okhttp:okhttp-urlconnection:3.0.0,但它不存在。

我是否应该保留com.squareup.okhttp:okhttp-urlconnection:2.7.0 并仅将com.squareup.okhttp:okhttp 升级到3.0.0? 还是这句话的意思是只依赖com.squareup.okhttp:okhttp应该可以工作?

【问题讨论】:

    标签: android okhttp okhttp3


    【解决方案1】:

    我尝试依赖com.squareup.okhttp:okhttp-urlconnection:3.0.0,但它不存在。

    名称也已更新。现在是

    com.squareup.okhttp3:okhttp-urlconnection:3.0.0
    

    注意okhttp3 而不是okhttp

    有关这背后的原因的更多信息,请参阅 Jake Wharton(作者)关于主要版本更新的 Java 互操作性政策的博文:

    https://jakewharton.com/java-interoperability-policy-for-major-version-updates/

    jCenter

    【讨论】:

    • 噢!有趣的是我看到了这个,但后来我的大脑决定把它涂黑;)谢谢!
    • 除了现在我有这个奇怪的问题:com.android.dex.DexException: Multiple dex files define Lokhttp3/Address;edit.. 我这样修复了,但这很奇怪:compile ('com.squareup.okhttp3:okhttp-urlconnection:3.0.0') { exclude group: 'com.squareup.okhttp3' }
    • @BoD 新问题 -> 新问题
    • 我最终在这里开了一张关于第二个问题的票:github.com/square/okhttp/issues/2243
    • 使用 com.squareup.okhttp3:okhttp-urlconnection:3.0.1 似乎可以解决 github 问题。
    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多