React Native Android Firebase Crashlytics: необходимо инициализировать Fabric перед использованием singleton()

#android #reactjs #firebase #react-native #crashlytics

#Android #reactjs #firebase #react-native #crashlytics

Вопрос:

У меня есть react native app , на котором уже установлена Firebase. Сейчас я пытаюсь установить на него Crashlytics firebase модуль.

Я приступил iOS к сборке и, похоже, создаю какие-то отчеты для firebase панели мониторинга, поскольку панель мониторинга больше не запрашивает установку crashlytics . Для Android я следовал этим инструкциям: https://rnfirebase.io/docs/v5.x.x/crashlytics/android и я получил приложение для сборки, но в рамках react-native code когда я пытаюсь использовать API (что-то вроде firebase.crashlytics().log('hi there') при инициализации приложения), iOS все происходит так, как ожидалось, но Android выдает

«Необходимо инициализировать Fabric перед использованием singleton()».

Я попытался обойти это с помощью приведенного здесь метода:https://github.com/corymsmith/react-native-fabric/issues/82 добавив

   @Override
  public void onCreate() {
    super.onCreate();
    Fabric.with(this, new Crashlytics());
  }
  

/android/app/src/main/java/host/exp/exponent/MainApplication.java file

Когда я пытаюсь это сделать, приложение не создается и выдает ошибку:

ошибка: не удается найти класс символов Crashlytics

в строке (Fabric.with(this, new Crashlytics());) . Я не совсем уверен, с чего начать, поэтому буду признателен за некоторую помощь.

Ответ №1:

Я решаю ту же проблему, добавив это на android / app / src /main / java / com /[YourProjectName] /MainApplication.java

 import android.app.Application;
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;

public class TestApplication extends Application {
@Override
public void onCreate() {
    super.onCreate();
    Fabric.with(this, new Crashlytics());
}
}