改造无法访问HttpUrl

时间:2015-10-02 04:33:26

标签: android gradle gson android-gradle retrofit

我已将下面的库包含到我的应用程序的lib文件夹中:

  1. 编译文件('libs / retrofit-2.0.0-beta2.jar')
  2. 编译文件('libs / converter-gson-2.0.0-beta1.jar')
  3. 当要运行app时,它会给我一个错误:

      

    错误:(17,17)错误:无法访问HttpUrl类文件   找不到com.squareup.okhttp.HttpUrl

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

    1. 正如所说:但在Retrofit 2.0中,现在需要OkHttp并自动设置为依赖项。

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

    2. 正如所说:但在Retrofit 2.0中,转换器不再包含在包中。您需要自己插入转换器,否则Retrofit将只能接受String结果。因此,Retrofit 2.0不再依赖于Gson了。

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

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

      解决: 我搜索并找到了这个解决方案。如果您使用代理连接互联网,则只需将其添加到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。这只是网络问题

2 个答案:

答案 0 :(得分:7)

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

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

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

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

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

最终的gradle.build应包含以下两行:

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

答案 1 :(得分:0)

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

  • converter-gson-2.0.0-beta2.jar
  • GSON-2.3.1.jar
  • okhttp-2.7.5.jar
  • 奥基奥-1.8.0.jar
  • 改型-2.0.0-beta2.jar

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

希望有所帮助