我已将以下库包含到我的应用程序的 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|localhost
systemProp.https.proxyHost=xxx systemProp.https.proxyPort=xxx systemProp.https.proxyUser=xxx systemProp.https.proxyPassword=xxx systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
感谢@ilya。只是网络问题
最佳答案
Jars 不包含任何关于其依赖项的信息 因此,当您添加 jar 时,您还必须下载并添加 OkHttp/Gson jar。
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'
关于android - 改造无法访问 HttpUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32900595/