gpt4 book ai didi

android - Fabric Debug Craslytic Reports : Signup, build Id 丢失,应用插件 : io. fabric

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:33 25 4
gpt4 key购买 nike

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

我们有不同类型的问题。我们使用的版本:安卓工作室版本:3.3

渐变版本:类路径 'com.android.tools.build:gradle:3.3.1'

插件: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.steps。因为我们还没有编译我们的应用程序。我们有两个主要错误:

错误 1:

此应用依赖于 Crashlytics。请在 https://fabric.io/sign_up 注册访问权限,

错误 2:

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.

因此,我们必须禁用“Debug Mod”才能完成 Crashlytic 的实现。

Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();

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

并且实现完成。

但我们不想那样做。因为,当我们发生崩溃时,它不会向 Crashlytics 或 Firebase 报告。我们还希望调试模块崩溃。

当我们删除 -> ....disabled(BuildConfig.DEBUG) - 它再次显示:错误 1,错误 2。

第二个问题:

在渐变中;应用插件:'io.fabric',我们创建了注释行,当我们删除注释行时,出现以下错误:

错误 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 studio gradle有关。所以我们需要再次创建注释行“apply plugin: fabric.io”。

对此没有好的解决方案。

要运行我们无法删除的应用程序:

new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build():(由于 Error1 Error2)

所以我们尝试以不同的方式启用报告:

在此之前我们尝试添加了什么?

<强>1。在 gradle 中启用:

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]

}

<强>2。在 list 中启用

<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="true" />

3.在ADB中启用

  adb shell setprop log.tag.Fabric DEBUG
adb shell setprop log.tag.CrashlyticsCore DEBUG

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

我们期待您的解决方案。

最佳答案

我没有在 gradle.properties 中添加 android.debug.obsoleteApi=true 就设法解决了这个问题。

我基本上使用适当的风格配置和提供的 google-services.json 文件将 3 种风格连接到不同的 Firebase 项目。

与我的相比,你的 gradle 文件缺少的是:

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"

}


应用插件:“io.fabric”

最后:实现“com.google.firebase:firebase-crash:16.2.1”

我知道 Fabric 将在今年关闭,但通过以这种方式运行应用程序,它们可以毫无问题地连接到 Firebase 控制台。

关于flavor配置,我下载了三个不同的json文件(我有3个flavor),分别添加到每个flavor的根目录下。例如:

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

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

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

编辑
因此,正如你们可能已经知道的那样,Fabric 正在关闭并且 Firebase Crashlytics 已准备就绪,因此不推荐使用此答案。
请查看here这样您就可以成功更新您的应用并避免奇怪的行为。

关于android - Fabric Debug Craslytic Reports : Signup, build Id 丢失,应用插件 : io. fabric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54706847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com