netease-kit/nim-uikit-android

初始化后,调用登录接口报错... 无任何回调

Closed this issue · 3 comments

7-1366/? I/ActivityManager: Start proc 8068:net.huayipai:core/u0a573 for service net.huayipai/com.netease.nimlib.service.NimService$Aux
03-17 00:33:42.717 8068-8068/? I/art: Late-enabling -Xcheck:jni
03-17 00:33:42.717 8068-8068/? I/art: Reinit property: dalvik.vm.checkjni= false
03-17 00:33:42.733 8068-8068/? D/ActivityThread: ActivityThread,attachApplication
03-17 00:33:42.734 1337-2692/? D/ActivityManager: ActivityManagerService,attachApplication,callingPid = 8068
03-17 00:33:42.736 8068-8075/? I/art: Debugger is no longer active
03-17 00:33:42.736 8068-8075/? I/art: Starting a blocking GC Instrumentation
03-17 00:33:42.742 494-1485/? I/gralloc: alloc_device_alloc:626: Alloc handle(0x7862e66600): interfmt=1, stride=64, size=4096, usage=0x100
03-17 00:33:42.751 494-504/? I/gralloc: alloc_device_free:648: Free handle(0x7862e66600)
03-17 00:33:42.804 8068-8068/? D/AndroidRuntime: Shutting down VM
03-17 00:33:42.805 8068-8068/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.huayipai:core, PID: 8068
java.lang.RuntimeException: Unable to bind to service com.netease.nimlib.service.NimService$Aux@cd86b5b with Intent { cmp=net.huayipai/com.netease.nimlib.service.NimService$Aux }: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.netease.nimlib.i.b.a.a(java.lang.String, java.lang.String)' on a null object reference
at android.app.ActivityThread.handleBindService(ActivityThread.java:3404)
at android.app.ActivityThread.-wrap3(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1664)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6577)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.netease.nimlib.i.b.a.a(java.lang.String, java.lang.String)' on a null object reference
at com.netease.nimlib.i.a.e(Unknown Source)
at com.netease.nimlib.ipc.d.a(Unknown Source)
at com.netease.nimlib.service.NimService$Aux.onBind(Unknown Source)
at android.app.ActivityThread.handleBindService(ActivityThread.java:3379)
at android.app.ActivityThread.-wrap3(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1664) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:6577) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831) 
03-17 00:33:42.807 1337-5303/? E/ReportTools: This is not beta user build
03-17 00:33:42.807 8068-8068/? I/Process: Sending signal. PID: 8068 SIG: 9

找到原因了,NIMClient.init也在主进程初始化了

@wodenhaowzg 你好,我想问下NIMClient.init不就是应该在主线程中初始化吗?

@1wayticket NIMClient.init不放在NIMUtil.isMainProcess判断里执行就行了