在Android版本为4.0.4会出现这个错误,因为是内部错误不好定位 ,请确认一下问题,有没有遇到相同问题的朋友,使用ChatMagner的openClientWithSelfId时出现
java.lang.ExceptionInInitializerError
at com.avos.avoscloud.AVSession.open(AVSession.java:173)
at com.avos.avoscloud.PushService.processConversationEventsFromClient(PushService.java:567)
at com.avos.avoscloud.PushService.processIMRequests(PushService.java:174)
at com.avos.avoscloud.PushService.access$200(PushService.java:71)
at com.avos.avoscloud.PushService$3.onConnected(PushService.java:144)
at com.avos.avoscloud.AVPushConnectionManager$AVPushWebSocketClient.onOpen(AVPushConnectionManager.java:289)
at org.java_websocket.client.WebSocketClient.onWebsocketOpen(WebSocketClient.java:267)
at org.java_websocket.WebSocketImpl.open(WebSocketImpl.java:664)
at org.java_websocket.WebSocketImpl.decodeHandshake(WebSocketImpl.java:287)
at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:185)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.(Handler.java:121)
at android.os.AsyncTask$InternalHandler.(AsyncTask.java:607)
at android.os.AsyncTask$InternalHandler.(AsyncTask.java:607)
at android.os.AsyncTask.(AsyncTask.java:190)
at com.avos.avoscloud.AVSession.open(AVSession.java:173)
at com.avos.avoscloud.PushService.processConversationEventsFromClient(PushService.java:567)
at com.avos.avoscloud.PushService.processIMRequests(PushService.java:174)
at com.avos.avoscloud.PushService.access$200(PushService.java:71)
at com.avos.avoscloud.PushService$3.onConnected(PushService.java:144)
at com.avos.avoscloud.AVPushConnectionManager$AVPushWebSocketClient.onOpen(AVPushConnectionManager.java:289)
at org.java_websocket.client.WebSocketClient.onWebsocketOpen(WebSocketClient.java:267)
at org.java_websocket.WebSocketImpl.open(WebSocketImpl.java:664)
at org.java_websocket.WebSocketImpl.decodeHandshake(WebSocketImpl.java:287)
at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:160)
at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:185)
at java.lang.Thread.run(Thread.java:856)

原因很有可能是 Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 这个,你看看你自己的线程里边是不是没有调用 Looper.prepare() 就 create hanlder 了?

Looper是存在的 如果prepare 就会报Only one Looper may be created per thread ,问题报在
imClient.open(new AVIMClientCallback() {
@Override
public void done(AVIMClient client, AVException e) {
if (e != null) {
connect = false;
connectionListener.onConnectionChanged(connect);
} else {
connect = true;
connectionListener.onConnectionChanged(connect);
}
if (callback != null) {
callback.done(client, e);
}
}
});

他会在回调里面调用什么东西 我也没找到 然后就出现问题了

1、用的是哪个版本的 sdk ?
2、报错是在 AVIMClient.open()是么?

最新的版本已经解决了这个问题,你可以试一下

恩 好的 谢谢 我试一下