当前位置: 首页 > 知识库问答 >
问题:

android crashlytics检测应用程序突然被破坏和消失

关志
2023-03-14

在我的申请中,我有3个活动,

1-飞溅,2-主活动,3-音频活动。

在音频活动中,我使用ExoPlayer循环播放20个音频文件(完成最后一个文件后,第一个文件自动启动)。

应用程序可以正常运行数小时。有时,在播放音频(后台活动)期间,应用程序停止播放,没有任何错误消息并消失,我需要重新打开应用程序。(这发生在两个不同的设备上)。

在清单中的零件下方

    <application
    android:largeHeap="true"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyMaterialTheme"

    >
    <meta-data
        android:name="firebase_crashlytics_collection_enabled"
        android:value="false" />
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <meta-data android:name="android.max_aspect" android:value="2.1"/>
    <activity android:name="PKG.SplashActivity"
        android:theme="@style/MyDialogTheme"
        android:configChanges="orientation|screenSize|keyboard">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    <activity
        android:name="com.facebook.ads.AudienceNetworkActivity"
        android:hardwareAccelerated="true" />
    <activity
        android:launchMode="singleTask"
        android:name="PKG.PlayerActivity"
        android:configChanges="orientation|screenSize|keyboard"
        android:label="@string/app_name"
        android:theme="@style/MyDialogTheme">
    </activity>
    <activity
        android:name="PKG.MainActivity"
        android:label="@string/app_name"
        android:configChanges="orientation|screenSize|keyboard">
    </activity>

添加到主活动(非启动活动)的Crashlytics代码:

        final Fabric fabric = new Fabric.Builder(this)
            .kits(new Crashlytics())
            .debuggable(true)  // Enables Crashlytics debugger
            .build();
    Fabric.with(fabric);

我的问题:

  • 如何使用Crashlytics捕获此类应用程序停止
  • 还有其他方法可以抓住这次撞车吗

谢谢。

共有2个答案

黄靖
2023-03-14

步骤1:您必须在gradle中添加crashlytics,如下所示:implementation('com.crashlytics.sdk.android:crashlytics:2.9)。1@aar')

第2步:调用Fabric.with(this,new Crashlytics());在您的第一个活动中

请注意,您必须在Fabrics中创建帐户。此外,您还向android studio添加了Fabric插件。所以车祸报告会发送到你的注册电子邮件

江新
2023-03-14

在pplication.class

Thread.setDefaultUncaughtExceptionHandler(new CrashExceptionHandler(context));
public class CrashExceptionHandler implements Thread.UncaughtExceptionHandler {

Context mContent;

private CrashExceptionHandler() {

}

public CrashExceptionHandler(Context context) {
    this.mContent = context;
}

@Override
public void uncaughtException(Thread t, Throwable e) {
    String errorStr= "";
    for (StackTraceElement obj:e.getStackTrace()) {
        errorStr +=" | "+obj.getFileName()+":"+obj.getClassName()+":"+obj.getMethodName()+":"+obj.getLineNumber();
    }
    // save into file or in log....
}

}

 类似资料:
  • 问题内容: 我有一个用Restify和Mongoose在node.js中构建的REST服务,以及一个mongoDB,它的集合包含大约30.000个常规大小的文档。我的节点服务通过pmx和pm2运行。 昨天,节点突然开始通过消息“ MongoError:拓扑已被破坏”消除错误,仅此而已。我不知道这是什么意思,可能触发了什么。谷歌搜索时也没有太多发现。所以我想在这里问。 今天重新启动了节点服务后,错误

  • 我目前正在开发的一个新应用程序遇到了一个奇怪的问题,如果我将应用程序发送到后台(Home按钮),然后使用应用程序图标重新启动应用程序,除了根活动之外的所有活动都会被销毁(在日志中,我会获得所有活动的OnDestroy,除了调用OnResume的根活动)。 如果我将其发送到后台并从当前任务中恢复,它将恢复应用程序。 我已经将< code > Android:launch mode = " singl

  • 我有一个webapp,它正在Tomcat9上部署。作为部署的一部分,我们只需将war放到webapps目录中,tomcat负责war的重新部署。但是有时我们会在日志中看到一些错误,主要是一些spring bean的destroy方法没有被调用: PS:我不能停止和启动服务器部署过程。

  • 1998年12月25日晚上(我的计算机时钟绝对准确),在进行完日常的一系列操作后,又准备对系统进行一下“挖潜”工作,我相信这是大多数PC 发烧友的共同爱好。主板的BIOS已经被升级过好几次了,而且目前我还没找到更新的BIOS升级数据文件,所以我把目光转向了主板附带光盘上的DMI(Desktop Management Interface,桌面管理接口)程序。DMI为用户提供了一个与系统硬件直接对话的

  • 谁能告诉我如何让我的应用程序知道是否有新的SMS或MMS消息进入本机收件箱消息??? 我想让我的申请知道如果有新的消息,请任何人通知我,将不胜感激 萨米娅

  • 以下程序崩溃: 编制: 在Ubuntu 20.04上测试,编译器是GCC 8.4.0。 瓦尔格林,这是切割输出: 全输出 我甚至不知道为什么调用向量 dtor?我只创建一个变量,没有