2017-02-13 3 views
3

Я обновил с okhttp + дооснащения до okhttp3 + retrofit2, но мое приложение не запускается причиной данного исключенияokHttp3 java.lang.NoSuchMethodError: Нет виртуальный метод setCallWebSocket

FATAL EXCEPTION: EventThread 
                   Process: appli.speaky.com, PID: 14705 
                   java.lang.NoSuchMethodError: No virtual method setCallWebSocket(Lokhttp3/Call;)V in class Lokhttp3/internal/Internal; or its super classes (declaration of 'okhttp3.internal.Internal' appears in /data/data/appli.example.com/files/instant-run/dex/slice-okhttp-3.6.0_29bb10e5f590229716bfa8daf196d09ea67f56a8-classes.dex) 
                    at okhttp3.ws.WebSocketCall.enqueue(WebSocketCall.java:108) 
                    at io.socket.engineio.client.transports.WebSocket.doOpen(WebSocket.java:84) 
                    at io.socket.engineio.client.Transport$1.run(Transport.java:82) 
                    at io.socket.thread.EventThread.exec(EventThread.java:55) 
                    at io.socket.engineio.client.Transport.open(Transport.java:77) 
                    at io.socket.engineio.client.Socket.probe(Socket.java:472) 
                    at io.socket.engineio.client.Socket.onOpen(Socket.java:485) 
                    at io.socket.engineio.client.Socket.onHandshake(Socket.java:526) 
                    at io.socket.engineio.client.Socket.onPacket(Socket.java:499) 
                    at io.socket.engineio.client.Socket.access$1000(Socket.java:31) 
                    at io.socket.engineio.client.Socket$5.call(Socket.java:313) 
                    at io.socket.emitter.Emitter.emit(Emitter.java:117) 
                    at io.socket.engineio.client.Transport.onPacket(Transport.java:134) 
                    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:111) 
                    at io.socket.thread.EventThread$2.run(EventThread.java:80) 
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                    at java.lang.Thread.run(Thread.java:761) 

ответ

2

У меня также была та же проблема. Проблема была в том, что я использую socket 0.8.0, который, как я думаю, конфликтует с OLHTTP websocket implem.

После обновления до последней версии Socket.io

compile('io.socket:socket.io-client:0.8.3') { 
    exclude group: 'org.json', module: 'json' 
} 

, а также используя последнюю версию OKHTTP (нет необходимости включать okhttp-WS)

compile "com.squareup.okhttp3:okhttp:3.7.0" 
compile "com.squareup.okhttp3:logging-interceptor:3.7.0" 

мое приложение не сбой при первой нагрузке и подключение к розеткам. Перехватчик также не имеет никакого конфликта и регистрируется, как ожидалось, на logcat.

С этим нет необходимости понижать версию okHTTP, для которой это было рабочим решением в прошлом. :)

0

У меня был подобный вопрос. Проблема с моим проектом заключалась в использовании okhttp-3.3.1, у которых нет метода setCallWebSocket.

Удостоверьтесь, что вы добавили правильную версию okhttp в свою граду, а более старая версия, которая не имеет setCallWebSocket, не включена нигде в ваших библиотеках проектов или зависимостях.

1

Привет там, у меня есть один и тот же вопрос через несколько дней назад (мое приложение является реагировать родной), я просто использовать версию 3.4.1 для замены последней, и решить ее!

compile "com.squareup.okhttp3:okhttp:3.4.1" 
compile "com.squareup.okhttp3:logging-interceptor:3.4.1" 

, и я предполагаю, что это вызвано тем, что Retrofit2's okhttp lib

Смежные вопросы