改造无法访问 HttpUrl
retrofit cannot access HttpUrl
我已将以下库添加到我的应用程序的 lib 文件夹中:
- 编译文件('libs/retrofit-2.0.0-beta2.jar')
- 编译文件('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
正如那里所说:但是在 Retrofit 2.0 中,OkHttp 现在是必需的,并且会自动设置为依赖项。
-- 所以,我的项目没有添加OkHttp
正如那里所说:但是在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 转换器进行改造。
希望对您有所帮助
我已将以下库添加到我的应用程序的 lib 文件夹中:
- 编译文件('libs/retrofit-2.0.0-beta2.jar')
- 编译文件('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
正如那里所说:但是在 Retrofit 2.0 中,OkHttp 现在是必需的,并且会自动设置为依赖项。
-- 所以,我的项目没有添加OkHttp
正如那里所说:但是在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 转换器进行改造。
希望对您有所帮助