React-native-onesignal: (3.2.3) Android 应用程序因 Java.lang.IllegalStateException 崩溃:默认 FirebaseApp 未在此进程 com.{appname} 中初始化。 确保在调用 `init()` 时首先调用 FirebaseApp.initializeApp(Context)

创建于 2018-05-19  ·  14评论  ·  资料来源: OneSignal/react-native-onesignal

描述:

在 Android 中调用OneSignal.init()时,应用程序崩溃并显示错误Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.reactnativeprototype. Make sure to call FirebaseApp.initializeApp(Context) first

当不调用 init 并在build.gradle以旧方式初始化时, ids事件永远不会触发。

环境
SDK:v3.2.3

重现问题的步骤:

  1. 在 Android 中使用OneSignal.init() 。 应用程序将立即崩溃

最有用的评论

现在,它对我有用:

我更新了我的build.gradle以使用较新的版本(3.0.1),例如: .../examples/RNOneSignal/android/build.gradle

并且还为 gradle-4.1 更新了我的gradle-wrapper.properties ,例如: .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.properties

之后我开始遇到一些错误,然后我更改了app/build.gradle

...
dependencies {
    ...
    compile (project(':react-native-onesignal')){
        exclude group: "com.google.android.gms"
    }
    compile ("com.google.android.gms:play-services-base:12.0.1") {
        force = true;
    }
}
...

所有14条评论

也希望有解决办法。。😔

同样的问题

@bighitbiker3如果您以旧方式初始化 - 使用 build.gradle,您可以在 JS 中调用OneSignal.configure()来触发ids事件。

至于这个特定的 FCM 问题,我们将进行调查,感谢您的报告

即使使用旧的初始化调用 configure 也不会为我触发 id 事件

从我的iPhone发送

2018 年 5 月 19 日 11:28,Brad Hesse [email protected]写道:

@bighitbiker3如果你用旧的方式初始化 - 使用 build.gradle,你可以在 JS 中调用 OneSignal.configure() 来触发 ids 事件。

至于这个特定的 FCM 问题,我们将进行调查,感谢您的报告


你收到这个是因为你被提到了。
直接回复此邮件,在 GitHub 上查看,或将线程静音。

@bigitbiker3对我来说也是一样。 我尝试了很多东西,我不得不降级到 3.1.4 版本才能使它与 React Navigation (RN 0.55.4) 一起再次工作。

@Nightsd01尝试运行OneSignal.configure()以获取 ID 时遇到的错误是You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue. 。 这来自这里的 Android SDK。

我已经尝试将其置于超时状态,以确保在调用任何内容之前运行 Android init 代码,但仍然出现上述错误。

从那里我很难调试,因为在 Android 和 RN 中导入外部库时,我是一个非常大的新手😅。

@bigitbiker3请尝试更新到 SDK 的 3.2.4,如果这能解决您的问题,请告诉我。

我使用的是 3.2.4 版本,当我调用OneSignal.init()时收到完全相同的错误消息

我正在使用 3.2.4 并且与Onesignal.init()有相同的错误

现在,它对我有用:

我更新了我的build.gradle以使用较新的版本(3.0.1),例如: .../examples/RNOneSignal/android/build.gradle

并且还为 gradle-4.1 更新了我的gradle-wrapper.properties ,例如: .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.properties

之后我开始遇到一些错误,然后我更改了app/build.gradle

...
dependencies {
    ...
    compile (project(':react-native-onesignal')){
        exclude group: "com.google.android.gms"
    }
    compile ("com.google.android.gms:play-services-base:12.0.1") {
        force = true;
    }
}
...

@ramonsenadev有效,谢谢!

对于仍然遇到此问题的任何人,请注意 React Native 设置说明最近已更新。 特别是这个新部分使我在 3.2.4 上一切正常。 我仍然将compileSdkVersionbuildToolsVersion设置为 React Native 默认值。

@ramonsenadev 非常感谢。 您的解决方案有效。
移动到 onesignal v3.2.4 后,我执行的更多步骤是:
compileSdkVersion 26
构建工具版本“26.0.1”
目标SDK版本26

还要确保您更新了android支持库版本
编译“com.android。支持:程序兼容性-V7 :26.0.1”

我还必须在 app/build.gradle 的底部添加以下内容

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.1'
            }
        }
    }
}

感谢 OneSignal 团队! 似乎在 3.2.4 中已修复。 大家请查看@jsouza181评论中的链接。 对我很有用

此页面是否有帮助?
0 / 5 - 0 等级