繁体   English   中英

几个月前用旧应用和新应用重现:Crashlytics 没有报告旧应用中的崩溃或注册我的新应用

[英]Reproduced months ago with old apps and new: Crashlytics was not reporting crashes in old apps or registering my new apps

更新:不再需要此问题,因为它超出了 SOW 的范围。 我已经投票决定它应该关闭。 请注意,已经进行了一些研究以找出答案,我已经接受了。 发布此问题几周后,Crashlytic 中出现了一些问题。 我和 Crashlytics 的一个人聊天,他回答说我使用的版本有问题。

在这三个月的时间里,当我报告这个问题时,我已经有了 30 天前在另一个应用程序中报告的最新崩溃。 我让力再次崩溃(在那些以前的应用程序中,它正在工作)。 CrashLytics DashBoard 没有报告这些强制崩溃,更重要的是新应用程序也没有注册。

下面的代码没有问题,几周后一切又好了。

我在我的 Android Studio 中使用 Fabric 插件,Gradle 版本 3.1.3。

更多细节:

Crashlytics 插件:

buildscript {

    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        // These docs use an open-ended version so that our plugin
        // can be updated quickly in response to Android tooling updates

        // We recommend changing it to the latest version from our changelog:
        // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'io.fabric.tools:gradle:1.25.4'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

依赖:

implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
    transitive = true;
}

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support:design:28.0.0-alpha1'
implementation 'com.android.support:support-v4:28.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'

应用程序版本:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.mypackage"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

在我的应用程序 [派生和清单注册] 类的 onCreate 方法中:

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

如果有人遇到过这个问题,他或她可以从帖子的答案中找到很大的帮助。

当您使用 Android Studio 时,这些步骤可能会使您从奇怪的构建相关问题中恢复过来:

  • Android Studio Build-System 是基于目录的 (.idea),因此您可以做的一件事是尝试通过删除所有.idea .gradle *.iml并从project.rootdirproject/app构建缓存,然后导入再次项目到 Studio
  • 如果以上没有帮助:-( 将您的java/manifest/build.gradle(s)复制到另一个位置。在 Android Studio 中创建一个具有相同配置的新项目。完成后,
  • 复制粘贴清单代码(除了<meta-data android:name="io.fabric.ApiKey" android:value="....." />
  • 从 Gradle 配置复制粘贴依赖项和其他必需的配置
  • 立即复制 Java 代码,并且必须删除所有与 Fabric 相关的代码
  • 不要fabric.properties导入rootdir/app
  • 我假设已经安装并设置了 Fabric 插件。 现在,从中设置 Fabric 代码(我只想将所有内容都留给 Fabric 团队/但在您的情况下,他们做得一团糟)并进行测试崩溃,检查它是否有效
  • 如果它不起作用,我不可能告诉你一个方法。

不仅如此,新应用程序也未注册

为什么不使用您的辅助电子邮件打开另一个 Fabric 帐户并进行测试?


也许不合逻辑,但你能试试 Gradle 3.1.2 版吗? 在将 Gradle 从 3.1.3 降级到 3.1.2 时,我还修复了一些错误(与构建相关的奇怪问题)

dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
}

而且,如果您只使用 Crashlytics,那么为什么要进行这种复杂的实现? 这个单一的片段也将使你的工作。

Fabric.with(this, new Crashlytics());

刚刚找到你的问题所在!

快速这样做:

implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true
}

我用2.6.8进行了测试,希望崩溃有效,但 2.9.4 没有响应! 该错误存在于 2.9.4! 2.6.8 拥有所有可用的功能。 不过,您也可以填写错误报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM