Как использовать Crashlytics для моего Android-приложения React Native?

Я пытаюсь выяснить, как использовать Crashlytics из Fabric для моего приложения React Native Android APP. Я выполнил шаги на домашней странице Fabric и добавил некоторые строки в мои файлы build.gradle. Но сборки всегда сбой.

Есть ли разница с использованием Crashlytics для React Native Android и Crashlytics для разработки собственных Android с помощью Android Studio и Java?

Ответ 1

Я работал в некотором роде, но это может быть не идеальное решение...

1: добавьте ткань /crashlytics в ваше приложение /build.gradle - Файл (У меня не было buildscript в моем приложении /build.gradle, поэтому я просто включил его. Но я не уверен, что это хорошо....)

buildscript {
  repositories {
     jcenter()
     maven { url 'https://maven.fabric.io/public' }
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:1.5.0'
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.+'
  }
}

// Add this directly under: apply plugin: "com.android.application"
apply plugin: 'io.fabric'

// and this directly under: apply from: "react.gradle"
repositories {
  jcenter()
  maven { url 'https://maven.fabric.io/public' }
}

// Last but not least add Crashlytics Kit into dependencies
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
    transitive = true
}

2: Самое главное, потому что это нигде не упоминается (или я его нигде не нашел), импортируйте Crashlytics и Fabric в MainActivity:

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

3: В вашем методе onCreate добавьте:

// Fabrics
Fabric.with(this, new Crashlytics());

Когда вы это сделаете, вы, по крайней мере, получите Crashreports, которые вызваны собственным кодом (Java Code). Сбои, вызванные JS-синтаксисом или аналогичными, не будут уведомлены. Там вы получите известный RedBox: P

Удачи!

Ответ 2

Для новых версий React Native вам необходимо импортировать Bundle и разместить собственный метод onCreate следующим образом:

// Added Bundle to use onCreate which is needed for our Fabrics workaround
import android.os.Bundle;

..........

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Fabrics
    Fabric.with(this, new Crashlytics());

}

Не уверен, что это хорошо или нет, поскольку они удалили onCreate, но он работает для меня

Ответ 3

Попробуйте следующее: https://fabric.io/kits/android/crashlytics/install

Суммирует все файлы, необходимые для редактирования в вашем устройстве установки Android. Для файла AndroidManifest.xml замените ключ android: значение (например, ниже) на ваш фактический ключ API. Не забудьте получить свой ключ API из настроек вашей организации... 1. войдите в https://fabric.io/settings/organizations и 2. нажмите на секрет сборки.

      <meta-data
      android:name="io.fabric.ApiKey"
      android:value="<api key here>"
  />