oppo、vivo部分手机报错

yz1311
2019-02-18 05:46 1k 1

你的运行环境

OPPO R9s、OPPO R9s Plus、OPPO R9sk、OPPO A57、Vivo Y66
根据日志,这几款手机系统版本都是android 6.0.1

  • 插件版本:
  • react-native 版本:0.57.8

期望效果

运行正常

实际效果

因为原生报错,导致整个界面卡死了

重现步骤

打开app,进入登录界面,点击登录没反应

Debug logs

java.lang.RuntimeException: Cannot convert argument of type class android.os.Bundle
at com.facebook.react.bridge.Arguments.fromJavaArgs(Arguments.java:191)
at com.facebook.react.bridge.JavaScriptModuleRegistry$JavaScriptModuleInvocationHandler.invoke(JavaScriptModuleRegistry.java:92)
at java.lang.reflect.Proxy.invoke(Proxy.java:393)
at $Proxy5.emit(Unknown Source)
at cn.jpush.reactnativejpush.JPushModule.sendEvent(JPushModule.java:223)
at cn.jpush.reactnativejpush.JPushModule.notifyJSDidLoad(JPushModule.java:173)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:160)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29)
at android.os.Looper.loop(Looper.java:179)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:192)
at java.lang.Thread.run(Thread.java:818)

说明

targetSDKVersion: 25

只有这几款手机会报错,做了下面的实验:

  • 将js里面的notifyJSDidLoad删除 --- 运行正常
  • 将JPushModule.java的223行,加上try/catch --- 运行正常,但是奇怪的是catch里面并没有执行到

1个回答

热门排序
  • JoshLipan
    2019-02-18 06:15

    是获取连接状态信息时异常,为了不影响业务逻辑,先做 try/catch 处理,后续会排查具体原因

gptbots-widget