改造无法访问 HttpUrl

retrofit cannot access HttpUrl

我已将以下库添加到我的应用程序的 lib 文件夹中:

  1. 编译文件('libs/retrofit-2.0.0-beta2.jar')
  2. 编译文件('libs/converter-gson-2.0.0-beta1.jar')

当转到 运行 应用程序时,它给了我这样的错误:

Error:(17, 17) error: cannot access HttpUrl class file for com.squareup.okhttp.HttpUrl not found

我已经创建了包括改造在内的应用程序,如下所述: The biggest update yet on the best HTTP Client Library for Android

  1. 正如那里所说:但是在 Retrofit 2.0 中,OkHttp 现在是必需的,并且会自动设置为依赖项。

    -- 所以,我的项目没有添加OkHttp

  2. 正如那里所说:但是在Retrofit 2.0中,Converter不再包含在包中。您需要自己插入一个转换器,否则 Retrofit 将只能接受字符串结果。因此,Retrofit 2.0 不再依赖于 Gson。

    -- 所以,我决定将 Gson: com.squareup.retrofit:converter-gson 添加到我的应用程序中,而不是 'com.google.code.gson:gson:2.3.1'

任何关于如何使用改造的建议都会有所帮助。请告诉我如何纠正这个主要错误?

已解决: 我搜索并找到了这个解决方案。如果您使用代理连接互联网,那么只需将其添加到 gradle.properties 文件:

systemProp.http.proxyHost=xxx systemProp.http.proxyPort=xxx systemProp.http.proxyUser=xxx systemProp.http.proxyPassword=xxx systemProp.http.nonProxyHosts=*.nonproxyrepos.com|本地主机

systemProp.https.proxyHost=xxx systemProp.https.proxyPort=xxx systemProp.https.proxyUser=xxx systemProp.https.proxyPassword=xxx systemProp.https.nonProxyHosts=*.nonproxyrepos.com|本地主机

感谢@ilya。这只是网络问题

Jars 不包含有关其依赖项的任何信息 因此,当您添加 jar 时,您还必须下载并添加 OkHttp/Gson 个 jars。

compile files('libs/okhttp.jar')
compile files('libs/gson.jar')

但是如果你以这种方式添加你的依赖

compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'

所有其他必需的库将由 gradle 自动下载和添加。

最后的 gradle.build 应该包含这两行:

compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1'

我的 eclipse 项目遇到了同样的问题。如果您想使用库,请将这些 jar 放在您的 libs 文件夹中:

  • converter-gson-2.0.0-beta2.jar
  • gson-2.3.1.jar
  • okhttp-2.7.5.jar
  • okio-1.8.0.jar
  • retrofit-2.0.0-beta2.jar

之后我可以使用 gson 转换器进行改造。

希望对您有所帮助