Caused by: java.lang.NoSuchFieldError: com.squareup.okhttp.internal.http.HttpMethod.METHODS when I using retrofit

Caused by: java.lang.NoSuchFieldError: com.squareup.okhttp.internal.http.HttpMethod.METHODS when I using retrofit

my post request 

@POST("/users/login-facebook")
@FormUrlEncoded
void loginFaceboook(@Field("token") String accessToken, @Field("fbId") String facebookId, @Field("platform") int platform,

                    Callback<LoginSignupResponse> callback)

我的gradle

   compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
 compile 'com.squareup.retrofit:retrofit:1.6.1'

我的所有 post 服务也有同样的错误

试试这个,

将其放入 gradle:

 compile 'com.squareup.retrofit:retrofit:1.6.1'
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0-RC1'
compile 'com.squareup.okio:okio:1.0.0'

@FormUrlEncoded
@POST("/users/login-facebook")
void loginFaceboook(@Field("token") String accessToken, @Field("fbId") String facebookId, @Field("platform") int platform,

                    Callback<LoginSignupResponse> callback)

您的依赖版本太旧且不兼容。

对于改造 1.x 最新的是 1.9.0 并且你想使用最新的 okhttp 2.x 目前是 2.7.5.

尽管考虑迁移到改造 2.x 和 okhttp 3.x。

试试下面的方法

编译'com.squareup.retrofit:retrofit:1.9.0'

此外,无需在 gradle 中添加 okhttp 或 okio 的条目。