2016-04-13 8 views
3
my post request 

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

        Callback<LoginSignupResponse> callback) 

mein gradleVerursacht durch: java.lang.NoSuchFieldError: com.squareup.okhttp.internal.http.HttpMethod.METHODS, wenn ich mit Retrofit

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' 

auch meine alle Postdienste haben einen gleichen Fehler

Antwort

4

Ihre Abhängigkeitsversionen sind alt und inkompatibel.

Zum Nachrüsten 1.x ist das neueste 1.9.0 und mit diesem möchten Sie das neueste okhttp 2.x verwenden, das aktuell 2.7.5 ist.

Überlegen Sie, auf Nachrüstung 2.x und okhttp 3.x zu migrieren.

+0

i ändere meine grelle Kompilierung 'com.squareup.retrofit: Nachrüstung: 1.9.0' kompilieren 'com.squadeup.okhttp: okhttp: 2.7.5' kompilieren 'com.squareup.okhttp: okhttp-urlconnection: 2.5.0' und ich hatte einen Fehler erneut java.lang.NoSuchMethodError: com.squareup.okhttp.internal.http.HttpEngine. bei com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.newHttpEngine (HttpURLConnectionImpl.java:367) – hugerde

+0

Die Version der URL-Verbindung sollte Ihrer okhttp-Version entsprechen. – laalto

+0

danke @ laalto – hugerde

1

dies versuchen,

setzen diese in 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("https://stackoverflow.com/users/login-facebook") 
void loginFaceboook(@Field("token") String accessToken, @Field("fbId") String facebookId, @Field("platform") int platform, 

        Callback<LoginSignupResponse> callback) 
+0

Ich versuchte, aber nichts änderte – hugerde

+0

Ich hatte die Antwort bearbeitet bitte versuchen Sie es. Wenn Sie den Fehler bekommen, teilen Sie bitte das Protokoll –

+0

Ich fügte hinzu, okio bot nicht geändert java.lang.NoSuchFieldError: com.squareup.okhttp.internal.http.HttpMethod.METHODS at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.setRequestMethod (HttpURLConnectionImpl.java:550) bei retrofit.client.UrlConnectionClient.prepareRequest (UrlConnectionClient.java:50) bei – hugerde

0

unten Versuchen Sie stattdessen

Kompilierung 'com.squareup.retrofit: Nachrüstung: 1.9.0'

Auch gibt es keine Notwendigkeit zu setzen Einträge für okhttp oder okio in Gradle.