如何将Crashlytics用于我的React Native Android应用程序?

时间:2015-11-03 14:24:23

标签: react-native crashlytics crashlytics-android

我正在试图弄清楚如何使用Fabric中的Crashlytics来实现我的React Native Android APP。我按照Fabric主页上的步骤操作,并在build.gradle文件中添加了一些行。但是构建总是崩溃。

对于使用Android Studio和Java的本机Android开发,使用Crashlytics进行React Native Android和Crashlytics会有区别吗?

3 个答案:

答案 0 :(得分:12)

我让它以某种方式工作,但它可能不是完美的解决方案......

1:在您的app / build.gradle中添加fabric / crashlytics - 文件 (我的app / build.gradle中没有buildscript,所以我只是把它包括在内。但我不确定这是不是很好......)

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:2.5.5@aar') {
    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());

当你这样做时,你至少会得到由本机代码(Java代码)引起的Crashreports。通过JS引起的崩溃 - 语法或类似的不会被通知。在那里你将获得已知的RedBox:P

祝你好运!

答案 1 :(得分:4)

对于较新版本的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但它适用于我

答案 2 :(得分:0)

试试这个:https://fabric.io/kits/android/crashlytics/install

总结您需要在Android安装中编辑的所有文件。 对于AndroidManifest.xml文件,将android:value键(例如下面的内容)替换为您的实际API密钥。请记住从组织设置中获取API密钥... 1.登录https://fabric.io/settings/organizations,然后2.单击构建密钥。

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