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

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

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

在3个月的时间里,当我报告这个问题时,我已经遇到了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"
    }

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

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

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

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

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

more than that the new apps are also not registered

为什么不使用您的辅助电子邮件开设另一个 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 具有所有可用的功能。不过,您也可以填写错误报告。