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

问题描述 投票:14回答:3

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

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

react-native crashlytics crashlytics-android
3个回答
12
投票

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

1:将fabric / crashlytics添加到app / build.gradle中 - 文件(我的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

祝好运!


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但它对我有用


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>"
  />
© www.soinside.com 2019 - 2024. All rights reserved.