【问题标题】:React native android app crash on start when import firebase on release only仅在发布时导入 firebase 时反应原生 android 应用程序崩溃
【发布时间】:2017-07-28 16:07:15
【问题描述】:

我尝试在 Android 的 react-native 应用程序中使用 Firebase 数据库 我关注这个tutorial

我使用这个 react-native 版本:

react-native-cli: 2.0.1
react-native: 0.42.0

在 package.json 中:

"firebase": "^3.7.0",

在开发模式下的模拟器或真实设备上,一切正常,但是当我构建发布 apk 时,它在应用启动时崩溃

我做了很多测试,问题出在 firebase 导入上

在 logcat 中,我有这个,有什么想法吗?

03-08 07:52:46.990  6764  6781 E ReactNativeJS: Can't find variable: ie
03-08 07:52:47.000  6764  6781 E ReactNativeJS: Module AppRegistry is not a registered callable module (calling runApplication)
03-08 07:52:47.000  6764  6782 E AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
03-08 07:52:47.000  6764  6782 E AndroidRuntime: Process: com.firebasereactnative, PID: 6764
03-08 07:52:47.000  6764  6782 E AndroidRuntime: com.facebook.react.common.JavascriptException: Can't find variable: ie, stack:
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@374:4815
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@374:4880
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@376:21072
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@376:21085
03-08 07:52:47.000  6764  6782 E AndroidRuntime: n@2:557
03-08 07:52:47.000  6764  6782 E AndroidRuntime: i@2:348
03-08 07:52:47.000  6764  6782 E AndroidRuntime: t@2:210
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@367:44
03-08 07:52:47.000  6764  6782 E AndroidRuntime: n@2:557
03-08 07:52:47.000  6764  6782 E AndroidRuntime: i@2:348
03-08 07:52:47.000  6764  6782 E AndroidRuntime: t@2:210
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@366:135
03-08 07:52:47.000  6764  6782 E AndroidRuntime: n@2:557
03-08 07:52:47.000  6764  6782 E AndroidRuntime: i@2:348
03-08 07:52:47.000  6764  6782 E AndroidRuntime: t@2:210
03-08 07:52:47.000  6764  6782 E AndroidRuntime: <unknown>@12:135
03-08 07:52:47.000  6764  6782 E AndroidRuntime: n@2:557
03-08 07:52:47.000  6764  6782 E AndroidRuntime: i@2:278
03-08 07:52:47.000  6764  6782 E AndroidRuntime: t@2:210
03-08 07:52:47.000  6764  6782 E AndroidRuntime: global code@379:9
03-08 07:52:47.000  6764  6782 E AndroidRuntime: 
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:99)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:83)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:345)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.cxxbridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:136)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:739)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:95)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:158)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:196)
03-08 07:52:47.000  6764  6782 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:818)
03-08 07:52:47.000  1252  2157 W ActivityManager:   Force finishing activity com.firebasereactnative/.MainActivity
03-08 07:52:47.000  1252  2157 W VirtualScreenManagerService: moveTaskBackToDisplayIfNeeded(): top activity or app is null

【问题讨论】:

  • 通常如果您在发布时崩溃但在调试时没有崩溃,则问题存在于您的 proguard 配置文件中
  • 我在 iOS 上遇到了同样的崩溃,所以我不认为这是一个 proguard 问题
  • 感谢您的建议,但如果我删除导入,它可以工作吗?!?我在默认的 build.gradle 中没有更改任何内容我怀疑捆绑缩小问题

标签: android firebase react-native firebase-realtime-database


【解决方案1】:

降级到 firebase 3.6.5 似乎已经为我解决了这个问题

【讨论】:

  • 我尝试了同样的行为,你在 react-native@0.42.0 上?在 logcat 中我还有另一个错误?!? 03-09 18:45:16.424 4735 4752 E ReactNativeJS: undefined is not a function (evaluating 'l.hasOwnProperty("process")')03-09 18:45:16.428 4735 4753 E AndroidRuntime: FATAL EXCEPTION: mqt_native_modules03-09 18:45:16.428 4735 4753 E AndroidRuntime: Process: com.firebasereactnative, PID: 473503-09 18:45:16.428 4735 4753 E AndroidRuntime: com.facebook.react.common.JavascriptException: undefined is not a function (evaluating 'l.hasOwnProperty("process")'), stack:
  • 我仍在使用 react-native 0.38.0 - 我在 iOS 上有太多问题需要升级。根据下面的@dcz.switcher 评论,它似乎绝对是 3.7.0 中的一个错误
【解决方案2】:

好消息!有用 ! 我启动了一个新的 react-native 项目并安装了最后一个 firebase 版本,现在是 3.7.1 ! 一切都很好

感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 2016-01-14
    • 2018-11-11
    • 2021-12-26
    相关资源
    最近更新 更多