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

Fabric Debug Craslytic报告:注册、缺少构建Id、应用插件:io.Fabric

薄高懿
2023-03-14

我们已经编程了一个Android应用程序,并尝试在我们的应用程序中实现Crashlytics。

插件:Fabric for Android studio v4.3.0

实现:实现('com.crashlytics.sdk.android:crashlytics:2.9.9'){transitive=true}实现('io.fabric.sdk.android:fabric:1.4.0@aar'){transitive=true}

gradle-wrapper.properties:distributionurl=https://services.gradle.org/distributions/gradle-5.2.1-all.zip

当我们实现Crashlytics时,您知道开发人员有3个步骤。我们不能跳过2,3.步骤。因为我们还没有编译我们的应用程序。我们有两个主要错误:

错误1:

这个应用程序依赖于crashlytics。请登录https://fabric.io/sign_up,

E/CrashlyticsCore: The Crashlytics build ID is missing.This occurs when 
Crashlytics tooling is absent from your app's build configuration.
Please review Crashlytics onboarding instructions and ensure you have a valid Crashlytics account.
Crashlytics crashlyticsKit = new Crashlytics.Builder()
        .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
        .build();

Fabric.with(this, crashlyticsKit);  // Tod from Fabric suggested in stackoverflow

错误3:

WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getExternalNativeBuildTasks(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Affected Modules: app

当我们搜索它时,这个错误与新的android工作室Gradle有关。所以我们需要再次设置注释行“apply plugin:fabric.io”。

对此没有好的解决办法。

buildTypes {
    debug {
        manifestPlaceholders = [crashlyticsEnabled: true]
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        manifestPlaceholders = [crashlyticsEnabled: false]

    }
<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="true" />
  adb shell setprop log.tag.Fabric DEBUG
  adb shell setprop log.tag.CrashlyticsCore DEBUG

但是,Crashlytics或Firebase仍然没有得到任何调试崩溃报告。

我们期待着你的解决方案。

共有1个答案

廖琨
2023-03-14
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath "com.google.gms:google-services:$google_services_version" // google-services plugin

    classpath "io.fabric.tools:gradle:$fabric_tools_version"

}
flavor1:
assets
java
res
AndroidManifest
google-services.json (for flavor1)

flavor2:
assets
java
res
AndroidManifest
google-services.json (for flavor2)

就这样了。希望这对某人有所帮助。

编辑
这样,正如你们可能已经知道的,fabric正在关闭,firebase crashlytics已经就绪,因此不推荐使用此答案。
请检查此处,以便您可以成功更新应用程序并避免奇怪的行为。

 类似资料:
  • 根据新版本的Firebase Crashlytics添加到我们的应用程序中,应用程序在启动时停止。 java.lang.RuntimeException:无法获取提供程序com.google.firebase.provider.firebaseInitProvider:java.lang.IllegalStateException:缺少Crashlytics构建ID。当应用程序的构建配置中没有Cr

  • 我已经安装Kibana版本6.5。我选择了30天免费试用,并启用了x-pack安全选项。 通过KibanaUI我创建了一个用户并分配了报告所需的两个角色-kibana_user和reporting_user。现在我通过这个新用户登录,但在仪表板上找不到报告选项。 即使我使用具有超级用户角色的elastic用户登录,行为也是一样的。我错过什么了吗? 我在Kibana startup上看到一条日志,上

  • 我正在尝试从我的Java代码生成Jasper报告,我的Java应用程序是Swing。我使用设计了Jasper报告。然而,在我的报告中,有一个徽标图像。图像位置是动态传递的,在Jaspesoft Studio上预览时效果良好。以下是JasperSoft工作室中的图像设置。变量是 这就是我用Java生成报告的方式。 问题是,Java生成的报表没有图像!这是怎么了? 更新 我也尝试将用作,但这里有相同的

  • 问题内容: 我有一个詹金斯实例运行约200个工作。我需要一个插件来显示所有作业的构建统计信息。 每个项目的总构建 失败的 成功 每次构建的平均时间。 搜索了很多,但是找不到合适的报告插件。请帮忙 问题答案: 您可以根据要执行/显示的自定义/功能多少来查看以下几种: https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plug

  • 我将JDK版本从8切换到9,由于缺少tools.jar,AspectJ插件不再工作: 目标的执行默认值org.codehaus.mojo:aspectj-maven-plugin:1.10:编译失败:Plugin org.codehaus.mojo:aspectj-maven-plugin:1.10或其依赖项之一无法解析:在指定路径C:\Program Files\java\jdk-9.0.1/.

  • 对于和的未处理插件异常,我收到一个错误: 未处理的异常:MissingPluginException(在channel plugins.flatter.io/shared_首选项上找不到方法getAll的实现)未处理的异常:MissingPluginException(在channel plugins.flatter.io/path_provider上找不到方法getApplicationSupp