14

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

将 Crashlytics 用于 React Native Android 和 Crashlytics 用于使用 Android Studio 和 Java 的 Native Android 开发有区别吗?

4

3 回答 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 代码)引起的崩溃报告。由 JS - 语法或类似引起的崩溃不会被通知。在那里你会得到已知的 RedBox :P

祝你好运!

于 2015-12-09T15:06:30.230 回答
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 但它对我有用

于 2016-03-09T07:09:33.360 回答
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>"
  />
于 2016-08-28T07:43:20.897 回答