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

未初始化Firebase Crashlytics NDK。无法加载Libcrashlytics

金阳华
2023-03-14

我正在尝试按照Firebase Crashlytics NDK留档上定义的步骤设置我的Android项目以报告使用Firebase Crashlytics SDK的NDK崩溃。我尝试通过添加以下代码使用Firebase Crashlytics SDK(不是NDK库)报告崩溃,并成功报告崩溃。

releaseImplementation 'com.google.firebase:firebase-crashlytics:17.1.1'

我应用的更改正在更改NDK one的库:

releaseImplementation 'com.google.firebase:firebase-crashlytics-ndk:17.2.1'

并将文档提到的本地符号html" target="_blank">上传添加到app gradle文件中

buildTypes {
    release {
        firebaseCrashlytics {
            nativeSymbolUploadEnabled true
        }
    }
}

我在日志上看到的错误是:

2020-08-25 08:39:24.859 16889-16889/? I/CrashlyticsInitProvider: CrashlyticsInitProvider skipping initialization
2020-08-25 08:39:27.258 16889-16889/? I/CrashlyticsCore: Initializing Crashlytics Core 2.7.0.33
2020-08-25 08:39:36.980 17454-17454/? E/FirebaseCrashlytics: libcrashlytics could not be loaded. This APK may not have been compiled for this device's architecture. NDK crashes will not be reported to Crashlytics:
    JNI_ERR returned from JNI_OnLoad in "/data/app/com.mypackagename==/lib/arm64/libcrashlytics.so"
2020-08-25 08:39:37.392 17454-17454/? I/FirebaseCrashlytics: Initializing Crashlytics 17.2.1
2020-08-25 08:39:37.762 17454-17498/? I/FirebaseCrashlytics: Crashlytics NDK initialization FAILED
2020-08-25 08:39:39.661 17530-17530/? E/FirebaseCrashlytics: libcrashlytics could not be loaded. This APK may not have been compiled for this device's architecture. NDK crashes will not be reported to Crashlytics:
    JNI_ERR returned from JNI_OnLoad in "/data/app/com.mypackagename==/lib/arm64/libcrashlytics.so"

在为NDK版本替换库之前,我可以强制Java崩溃,应用程序会立即崩溃,但当添加NDK版本时,应用程序似乎会挂起(像和ANR一样),而不会立即崩溃(可能是因为找不到库?)

在日志中显示:

2020-08-25 08:43:43.472 22214-22238/? I/FirebaseCrashlytics: Crashlytics NDK initialization FAILED
2020-08-25 08:43:43.538 22214-22325/? D/TransportRuntime.SQLiteEventStore: Storing event with priority=HIGHEST, name=FIREBASE_CRASHLYTICS_REPORT for destination cct
2020-08-25 08:43:43.561 22214-22341/? D/TransportRuntime.SQLiteEventStore: Storing event with priority=HIGHEST, name=FIREBASE_CRASHLYTICS_REPORT for destination cct
2020-08-25 08:43:43.579 22214-22342/? D/TransportRuntime.SQLiteEventStore: Storing event with priority=HIGHEST, name=FIREBASE_CRASHLYTICS_REPORT for destination cct
2020-08-25 08:43:43.591 22214-22343/? D/TransportRuntime.SQLiteEventStore: Storing event with priority=HIGHEST, name=FIREBASE_CRASHLYTICS_REPORT for destination cct
2020-08-25 08:43:50.150 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.n0.a(SourceFile:1)
2020-08-25 08:43:50.150 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.d.run(SourceFile:2)
2020-08-25 08:43:50.150 22214-22338/? A/com.mypackagename: runtime.cc:574] "com.google.firebase.crashlytics.startup1" prio=5 tid=17 Waiting
2020-08-25 08:43:50.151 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.n0.a(SourceFile:1)
2020-08-25 08:43:50.151 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.d.run(SourceFile:2)
2020-08-25 08:43:50.172 22214-22338/? A/com.mypackagename: runtime.cc:574]   native: #12 pc 00000000001a0c86  /data/app/com.mypackagename==/oat/arm64/base.vdex (com.google.firebase.crashlytics.d.m.j0.uncaughtException+86)
2020-08-25 08:43:50.173 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.Z.M(SourceFile:-1)
2020-08-25 08:43:50.173 22214-22338/? A/com.mypackagename: runtime.cc:574]   - waiting to lock <0x06ca8488> (a com.google.firebase.crashlytics.d.m.Z) held by thread 13
2020-08-25 08:43:50.173 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.j0.uncaughtException(SourceFile:5)
2020-08-25 08:43:50.177 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.Z.M(SourceFile:-1)
2020-08-25 08:43:50.178 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.Z.M(SourceFile:-1)
2020-08-25 08:43:50.178 22214-22338/? A/com.mypackagename: runtime.cc:574]   at com.google.firebase.crashlytics.d.m.j0.uncaughtException(SourceFile:5)
2020-08-25 08:43:50.178 22214-22338/? A/com.mypackagename: runtime.cc:574]   native: #06 pc 000000000019f15c  /data/app/com.mypackagename==/oat/arm64/base.vdex (com.google.firebase.crashlytics.d.m.Z.M)
2020-08-25 08:43:50.178 22214-22338/? A/com.mypackagename: runtime.cc:574]   native: #12 pc 00000000001a0c86  /data/app/com.mypackagename==/oat/arm64/base.vdex (com.google.firebase.crashlytics.d.m.j0.uncaughtException+86)

请注意,本机代码是与项目一起编译的,并且在jni文件夹中找到,可以正常工作(因此它适用于所有ABI)。我尝试在发布时运行并从Build生成一个签名的APK

共有2个答案

杜俊远
2023-03-14

除了@Kevin Kokomani的回答,您还可以遵循这个简单的指南,了解如何为您的应用程序的NDK图层正确设置Firebase Crashlytics。

阎阎宝
2023-03-14

来自您的日志:2020-08-25 08:39:27.258 16889-16889/? I/CrashlyticsCore:初始化Crashlytics Core2.7.0.33

这意味着在代码库的某个位置,有一个对旧 Fabric Crashlytics SDK 的依赖项的引用。您遇到的错误可能是由于您的设置中同时包含 Fabric 和 Firebase Crashlytics SDK 的元素而出现的。请确保代码库中没有任何内容可能引用旧的 Fabric SDK,并且你已按照此处的升级说明干净地更改了新 SDK 的旧 SDK。

 类似资料:
  • 以下是一些背景代码: InitiativeProfileQuestion。java: ProfileAnswer.java: InitiativeProfileQuestionRepository。java: InitiativeProfileService。java: 基础ontroller.java: 在我的BaseController中调用get问题()会返回“无法初始化代理-没有会话”错误

  • 我有一个应用程序,我正在扩展它以提供REST API。在主站点中一切正常,但当我尝试访问REST API时,我在异常日志中得到以下内容: 禁用延迟加载将解决此问题,但会导致不可接受的性能(加载时间从 200 毫秒到 22 秒)。我不知道如何处理这个问题。 我刚开始在ColdFusion中Rest,在我看来,CFC正在以一种不寻常的方式被处理。它们似乎没有被初始化(init方法似乎没有运行),现在看

  • 我有一个使用MIP SDK的Azure函数,当调用< code>MIP时,我得到以下错误。CreateMipContext(...): 令人惊讶的是,该错误仅在 Azure 上运行时发生。在本地运行时,一切都很好。 我正在使用MIP SDK v1.8.86和.NET Core 3.1。 知道OneDS是什么或者是什么导致了错误吗?

  • 新CONF:我做了一些改变来配合你所说的。现在我删除了hibernate-cfg.xml并在spring-servlet.xml中做了所有的conf: 它可能来自我的java文件吗? 错误是: Bean 类 [org.springframework.orm.hibernate4.LocalSessionFactoryBean] 的属性 'transaction' 无效:Bean 属性 'trans

  • 我有一个关于初始化的有趣问题。我有以下代码: 现在当我调用ErrorLookupProvider时。getInstance(),我碰到了一个NPE。中的映射未使用新的初始化。 如果我将的声明更改为final,那么我看到它已初始化。或者,即使我删除static并将其作为私有类变量

  • 当我在iReport 5.1.0中预览JasperReports的报告时,它执行得很好。它包含一个饼图,当我需要从jsp文件运行它时,问题就来了。 烧烤-1.5-beta1.jar commons-beanutils-1.8.2.jar Commons-Collections-3.2.1.jar commons-digester-2.1.jar commons-javaflow-20060411.