React Native 0.57 Android应用在发布模式下启动时崩溃

时间:2018-09-18 01:50:15

标签: react-native babeljs

因此,问题在于我们需要使用更高版本的react进行构建,以便可以使用提交给Google Play的新应用现在需要的API级别26或更高版本进行构建。

这似乎是babelHelpers无法在发行版本中正确加载的问题。我只是不知道如何解决它,因为我发现的所有事情似乎都无法解决问题。崩溃的应用的日志记录在下面,仅供参考。

     E/ReactNativeJS: undefined is not a function (evaluating 'babelHelpers.applyDecoratedDescriptor(t.prototype,"notificationsEnabled",[Ve.serializable],{configurable:!0,enumerable:!0,writable:!0,initializer:null})')
09-17 12:32:48.301 11704-11758/? E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
    Process: com.***********, PID: 11704
    com.facebook.react.common.JavascriptException: undefined is not a function (evaluating 'babelHelpers.applyDecoratedDescriptor(t.prototype,"notificationsEnabled",[Ve.serializable],{configurable:!0,enumerable:!0,writable:!0,initializer:null})'), stack:
    <unknown>@820:1833

3 个答案:

答案 0 :(得分:1)

因此,我用react-native提交了错误报告,并得到了解决该问题的响应。 https://github.com/facebook/react-native/issues/19955#issuecomment-421295617

基本上,新变化使很多事情变得混乱。他们将在以后的版本中解决问题,但是有一种解决方法可以手动强制所需的装饰器导入。我认为类似的解决方法可用于babelHelpers也无法正确导入的其他问题。

答案 1 :(得分:0)

我遇到了同样的问题,您可以尝试更新Android JSC:

https://www.npmjs.com/package/jsc-android

但这会将您的最低Andoird SKD构建设置为21 +。

在这种情况下,我的客户要求SKD 18+,所以我不得不将本机版本降级为0.55.4,这解决了问题。

答案 2 :(得分:0)

在发布模式下,我遇到了同样的问题,但是对于 iOS ,原因是库“ react-native-image-crop-picker ”。我从设备中获得了以下日志:

Termination Description: DYLD, Library not loaded: @rpath/QBImagePicker.framework/QBImagePicker | Referenced from: /var/containers/Bundle/Application/2590E70F-7532-45BC-9FE1-BAC/MyApp.app/MyApp | Reason: image not found

我已经通过使用以下解决方案对其进行了修复: https://github.com/ivpusic/react-native-image-crop-picker/issues/204#issuecomment-306765126

我的依赖项:

"react": "16.5.0",
"react-native": "0.57.0",
"react-native-image-crop-picker": "0.21.2",