标签: crashlytics-android

Android 在库项目中添加 Firebase Crashlytics

我正在尝试在我的库项目中配置 Firebase Crashlytics。根据 Firebase 的说法,不可能在库项目中配置 Crashlytics。

我收到此错误消息。

Crashlytics was applied to an android-library project.

Android-library support is currently an incubating feature. 
Run Code Online (Sandbox Code Playgroud)

如果您有任何解决方案或解决方法,请帮助我。

我只是想在 Firebase Crashlytics 中记录库项目崩溃。

android firebase crashlytics-android firebase-crash-reporting

9
推荐指数
1
解决办法
1381
查看次数

在Crashlytics中获取用户信息

我在我的应用程序中使用Crashlytics,我希望获得用户ID和电子邮件以及每次崩溃.我做了这样的事情:

Crashlytics.setUserEmail(tokenModel.getEmail());
Crashlytics.setUserIdentifier(String.valueOf(tokenModel.getPk()));
Run Code Online (Sandbox Code Playgroud)

我在登录屏幕上执行此操作,用户提供了他的电子邮件并成功注册了应用程序,以获取用户ID.问题是,我没有在崩溃报告中获取这些数据.

在上述背景下,Crashlytics的生命周期和工作是什么?每次应用程序打开时是否需要设置这些字段?

android crashlytics crashlytics-android

8
推荐指数
1
解决办法
3096
查看次数

发布构建crashlytics是不是在crashreport中发送行号?

在调试模式开发时,我正在获得正确的崩溃行数,而在发布版本中,我收到崩溃文件名,但源代码未知.

I have included
-keep class com.crashlytics.** { *; }
-keep class com.crashlytics.android.**
Run Code Online (Sandbox Code Playgroud)

我已在ProGuard中添加了以上行.

android crashlytics crashlytics-android

8
推荐指数
1
解决办法
2310
查看次数

如何在Crashlytics(Fabrics)中有效地将非致命异常分组?

我们正在应用中使用Crashlytics作为崩溃报告工具。对于Android本机崩溃,它可以正常工作并正确地对崩溃进行分组。我们的应用程序在react-native中也很少有组件。对于这些组件中发生的崩溃,我们将其捕获,然后将它们作为非致命异常记录到Crashlytics中。

public class PlatformNativeModuleCallExceptionhandler implements 
NativeModuleCallExceptionHandler {
@Override
public void handleException(Exception e) {
    try {
        .
        .
        .
        Crashlytics.logException(new Exception(exceptionString));
    } catch (Exception ex) {}
}
Run Code Online (Sandbox Code Playgroud)

崩溃记录在Crashlytics仪表板中,但它在单个选项卡中显示了所有崩溃。这些可能是相同或不同的本机组件的不同崩溃。

在此处输入图片说明

因此,我们无法找出特定崩溃的实例。需要手动处理每个崩溃实例。

我猜它取了创建异常的类的名称,在这种情况下为PlatformNativeModuleCallExceptionHandler。我尝试创建自己的自定义异常类,但这也无济于事。

有人知道我们如何在这里更好地将非致命异常分组吗?所有类似的崩溃应与它们的总实例一起分组。

android crashlytics twitter-fabric react-native crashlytics-android

8
推荐指数
1
解决办法
1287
查看次数

CrashlyticsCore:缺少预期的方法:registerOnMeasurementEventListener

我已经为Android设置了Crashlytics,在gradle文件中添加了依赖项.我Crashlytics.logException(exception);用来记录异常.在应用程序抛出异常故障后,Crashlytics在Firebase控制台中被激活,但未检测到任何事件且未显示任何日志,因此控制台显示0崩溃.同时LogCat显示以下内容:

I/CrashlyticsCore: Initializing Crashlytics 2.6.1.23
I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
W/CrashlyticsCore: Expected method missing: registerOnMeasurementEventListener
    java.lang.NoSuchMethodException: parameter type is null
        at java.lang.Class.getMethod(Class.java:656)
        at java.lang.Class.getDeclaredMethod(Class.java:626)
        at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar.invoke(DefaultAppMeasurementEventListenerRegistrar.java:89)
        at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar.register(DefaultAppMeasurementEventListenerRegistrar.java:54)
        at com.crashlytics.android.core.CrashlyticsController.registerAnalyticsEventListener(CrashlyticsController.java:1574)
        at com.crashlytics.android.core.CrashlyticsCore.doInBackground(CrashlyticsCore.java:320)
        at com.crashlytics.android.core.CrashlyticsCore.doInBackground(CrashlyticsCore.java:44)
        at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
        at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
        at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)
I/CrashlyticsCore: Crashlytics report upload complete: 5ABA789603A5-0001-7C52-7AF6D12C00C8
Run Code Online (Sandbox Code Playgroud)

为什么registerOnMeasurementEventListener缺少方法; 我只有一个默认的proguard-rules.pro文件,其中包含以下内容:

更新:

-assumenosideeffects class android.util.Log {
    public static int d(...);
}

############ Crashlytics ################################
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable …
Run Code Online (Sandbox Code Playgroud)

android crashlytics crashlytics-android

8
推荐指数
2
解决办法
4332
查看次数

Fabric(crashlytics)插件在android studio中不起作用

我无法在Android工作室添加面料.现在我有android studio v1.5.1.我已经尝试从android studio,插件部分安装"fabric"插件,并尝试下载安装良好的crashlytics插件,但是当我登录它时更新到Fabric,然后再次禁用.问题是我无法点击插件/插件,我猜它由于某种原因没有被初始化.有没有人用这个插件经历过这样的行为,有谁知道我该如何解决这个问题?

以下是该插件的外观:

在此输入图像描述

谢谢

android crashlytics android-studio twitter-fabric crashlytics-android

7
推荐指数
0
解决办法
718
查看次数

Crashlytics NDK 2.0.1不记录本机崩溃

我正在尝试迁移Crashlytics 2.6.7 -> 2.8.0和Crashlytics NDK1.1.6 -> 2.0.1

但我遇到的问题是,每次我的应用程序在本机崩溃后重新启动时,Crashlytics会向logcat写入如下内容:

12-18 19:48:33.499 11678-11717 /?W/CrashlyticsCore:目录中没有找到minidump数据/data/data/com.example.app/files/.Fabric/com.crashlytics.sdk.android.crashlytics-ndk/native/1513601249792

我没有在仪表板中看到有关崩溃的任何信息.同时,Java崩溃成功记录并显示在仪表板中.

我的build.gradle:

apply plugin: 'io.fabric'

crashlytics {
    enableNdk true
}

dependencies {
    compile('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
        transitive = true;
    }

    compile('com.crashlytics.sdk.android:crashlytics-ndk:2.0.1@aar') {
        transitive = true
    }
}
Run Code Online (Sandbox Code Playgroud)

我用于测试的C++代码(应该抛出SIGSEGV):

if(_stream)
    {
        delete _stream;
        _stream->close();
        _stream=NULL;
    }
Run Code Online (Sandbox Code Playgroud)

我需要改变什么来使它工作?

android android-ndk crashlytics crashlytics-android

7
推荐指数
0
解决办法
1202
查看次数

Crashlytics Android NDK:丢失崩溃报告中的所有符号

我们的本地Crashlytics崩溃报告最近遗漏了所有符号信息.我曾希望最新的Crashlytics NDK可以解决这个问题,但事实并非如此.

我看到有一个类似的查询,但在这种情况下,我没有使用Firebase,只是Crashlytics,并且已经成功地做了很长一段时间.

我们的build.gradle(使用CMake和Gradle 3.0.0或3.1.0 Android插件 - 无论哪种方式相同)包含:

buildscript {
    ...
    dependencies {
        ...
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
...
dependencies {
    ...
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
        transitive = true
    }
    implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.2'
}
Run Code Online (Sandbox Code Playgroud)

这似乎是正确的,并使用所有最新的Fabric组件,除非我遗漏了一些东西.

然后我补充说:

crashlytics {
    enableNdk true
    manifestPath 'AndroidManifest.xml'
}

tasks.whenTaskAdded { task ->
    if (task.name.startsWith('assemble')) {
        task.finalizedBy "crashlyticsUploadSymbols" + task.name.substring('assemble'.length())
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我工作时不需要的.(并且,不,只是添加崩解剂块是不够的.)

这给了我实际在这个项目中构建的.cpp文件的符号.它仍然没有我链接的.a文件的符号,甚至对于libc ++ _ shared.so也没有!

android android-ndk crashlytics crashlytics-android

7
推荐指数
1
解决办法
2678
查看次数

Crashlytics 正在记录错误行号的崩溃

我收到了来自不同设备上的许多用户的大量崩溃报告,所有这些都发生在我的应用程序的第 4 行:

在此输入图像描述 在此输入图像描述 在此输入图像描述

但第 4 行只是导入:

在此输入图像描述

我在 Linux 笔记本电脑上运行 Android Studio 3.6.1。

android android-studio crashlytics-android

7
推荐指数
1
解决办法
828
查看次数

java.lang.RuntimeException:无法创建应用程序 com.app.MyApp:java.lang.NullPointerException:FirebaseCrashlytics 组件不存在

从 crashlytics 迁移到 firebase SDK 并升级 gradle 插件版本时,仅在启用 r8 的发布版本上发生此崩溃

注意:我在 build.gradle 以及应用程序类中定义和设置了 multidex 依赖项。仅当我将 gradle 插件版本从 3.5 升级到 4.1 时才会发生这种情况

我正在使用 firebase-crashlytics 版本

implementation 'com.google.firebase:firebase-crashlytics:17.0.0'
Run Code Online (Sandbox Code Playgroud)

等级插件版本

classpath 'com.android.tools.build:gradle:4.0.1'
Run Code Online (Sandbox Code Playgroud)

Crashlytics gradle 插件版本

classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'
Run Code Online (Sandbox Code Playgroud)

我还在 logcat 中收到警告

W/ComponentDiscovery: Class com.google.firebase.crashlytics.CrashlyticsRegistrar is not an found.
    java.lang.ClassNotFoundException: com.google.firebase.crashlytics.CrashlyticsRegistrar

 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.crashlytics.CrashlyticsRegistrar" on path: DexPathList


W/ComponentDiscovery: Class com.google.firebase.auth.FirebaseAuthRegistrar is not an found.
    java.lang.ClassNotFoundException: com.google.firebase.auth.FirebaseAuthRegistrar

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.auth.FirebaseAuthRegistrar" on path: DexPathList

W/ComponentDiscovery: Class com.google.firebase.database.DatabaseRegistrar is not …
Run Code Online (Sandbox Code Playgroud)

android gradle firebase crashlytics-android

7
推荐指数
1
解决办法
3435
查看次数