Socket.io-client-java: java.lang.NoSuchMethodError

Created on 9 Aug 2016  路  5Comments  路  Source: socketio/socket.io-client-java

Hey, I'm getting this kind of error when using io.socket:socket.io-client:0.7.0 on android.
Any ideas why this is happening ?

java.lang.NoSuchMethodError: No virtual method callEnqueue(Lokhttp3/Call;Lokhttp3/Callback;Z)V in class Lokhttp3/internal/Internal; or its super classes (declaration of 'okhttp3.internal.Internal' appears in /data/app/co.emotech.olly-1/base.apk) at okhttp3.ws.WebSocketCall.enqueue(WebSocketCall.java:108) at io.socket.engineio.client.transports.WebSocket.doOpen(WebSocket.java:73) at io.socket.engineio.client.Transport$1.run(Transport.java:75) at io.socket.thread.EventThread.exec(EventThread.java:50) at io.socket.engineio.client.Transport.open(Transport.java:70) at io.socket.engineio.client.Socket.probe(Socket.java:458) at io.socket.engineio.client.Socket.onOpen(Socket.java:471) at io.socket.engineio.client.Socket.onHandshake(Socket.java:512) at io.socket.engineio.client.Socket.onPacket(Socket.java:485) at io.socket.engineio.client.Socket.access$900(Socket.java:30) at io.socket.engineio.client.Socket$5.call(Socket.java:299) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.engineio.client.Transport.onPacket(Transport.java:127) at io.socket.engineio.client.transports.Polling.access$700(Polling.java:17) at io.socket.engineio.client.transports.Polling$2.call(Polling.java:124) at io.socket.engineio.parser.Parser.decodePayload(Parser.java:251) at io.socket.engineio.client.transports.Polling._onData(Polling.java:134) at io.socket.engineio.client.transports.Polling.onData(Polling.java:106) at io.socket.engineio.client.transports.PollingXHR$5$1.run(PollingXHR.java:113) at io.socket.thread.EventThread$2.run(EventThread.java:75) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

Most helpful comment

Hi! I had the same problem. Try to add this to your dependencies list:

compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.okhttp3:okhttp-ws:3.4.1'

Or write any version that you use in your project instead of 3.4.1.

It's all because this library uses okhttp-ws:3.0.1, which had callEnqueue method.

All 5 comments

Hi! I had the same problem. Try to add this to your dependencies list:

compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.okhttp3:okhttp-ws:3.4.1'

Or write any version that you use in your project instead of 3.4.1.

It's all because this library uses okhttp-ws:3.0.1, which had callEnqueue method.

Thanks! This worked.

I posted a new solution in SO regarding this issue I also had today: http://stackoverflow.com/a/43714998/2098493

I have a similar issue with okhttp. Instead of callEnqueue it is not finding setCallWebSocket.

I'm using android studio, and react native as well. Somehow adding the lines still gets me the same error. How do I make sure the specific version of okhttp is being used?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jukbot picture jukbot  路  3Comments

mrgame64 picture mrgame64  路  10Comments

RishabhDuttSharma picture RishabhDuttSharma  路  5Comments

NotNotMarshall picture NotNotMarshall  路  4Comments

AljoSt picture AljoSt  路  8Comments