【发布时间】:2018-09-05 19:08:21
【问题描述】:
我们的本地 Crashlytics 崩溃报告最近缺少所有符号信息。我曾希望最新的 Crashlytics NDK 能解决这个问题,但它没有。
我看到那里有一个类似的查询,但在这种情况下,我没有使用 Firebase,只是使用 Crashlytics,并且已经成功使用了很长一段时间。
我们的 build.gradle(使用 CMake 和 Gradle 3.0.0 或 3.1.0 Android 插件——无论哪种方式都相同)包含:
buildscript {
...
dependencies {
...
classpath 'io.fabric.tools:gradle:1.+'
}
}
...
dependencies {
...
implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
transitive = true
}
implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.2'
}
这似乎是正确的,并且使用所有最新的 Fabric 组件,除非我遗漏了什么。
然后我补充说:
crashlytics {
enableNdk true
manifestPath 'AndroidManifest.xml'
}
tasks.whenTaskAdded { task ->
if (task.name.startsWith('assemble')) {
task.finalizedBy "crashlyticsUploadSymbols" + task.name.substring('assemble'.length())
}
}
前段时间我在这工作时不需要这些。 (而且,不,仅仅添加 crashlytics 块是不够的。)
这给了我在这个项目中实际构建的 .cpp 文件的符号。我链接的 .a 文件仍然没有符号,甚至 libc++_shared.so 也没有符号!
【问题讨论】:
-
您可以将 Fabric 插件添加到 Android Studio。 examples.javacodegeeks.com/android/…
-
如何将符号上传到 Crashlytics?
-
我一直让 Gradle 构建通过“应用插件:'io.fabric'”来完成。然而,搜索最新的 Gradle 调试输出,fabric 插件运行,fabricGenerateResourcesGenuineDebug(用于 GenuineDebug 构建变体)运行,但我没有看到任何其他 fabric* 或 crash* 任务正在运行的迹象。
-
另外,如果 Fabric Gradle 插件有一个详细的模式,它实际上会解释自己,即它正在扫描哪些目录,它正在处理哪些 .so,它不处理哪些,那将非常有帮助,等等。就目前而言,它是一个神秘的黑匣子,我现在诱使它寻址我的一个 .so 文件的一部分,而它曾经用于寻址整个 .so 和 C++ 标准库。
-
我也有同样的问题......面料团队也没有太多帮助......如果你得到答案,请告诉我!
标签: android android-ndk crashlytics crashlytics-android