问题标签 [crashlytics-android]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Crashlytics NDK 符号和 Gradle 任务
我有一个主要与gradle有关的问题。
我正在使用 Crashlytics 报告我的 Android 应用程序中的 NDK 崩溃。我在 build.gradle 中有一个任务,它调用 ndk-build 并将 cpp 文件编译成 .so 文件。在此任务结束时,我想调用一个将生成的符号映射上传到 Crashlytics 的任务。
在 Android Studio 中安装 Fabric 插件后,我看到 Gradle 选项卡中添加了一些新任务。其中之一是 crashlyticsUploadSymbols[buildType][flavor],其中 buildType 和 flavor 指示当前选择的构建类型和风格。
这个任务似乎确实上传了一个符号文件。
我的问题是,是否可以从 build.gradle 中调用此任务?目前,我在 Android Studio 的终端选项卡中使用以下形式的手动调用:
./gradlew crashlyticsUploadSymbols[buildType][flavour]
是否可以从 build.gradle 中以某种方式调用此任务?
为了调用这个任务,我在 buildNdk 任务结束时使用 finalizedBy,所以一旦 buildNdk 完成,上传任务就会执行。
同样非常重要的是,如何获取当前的 buildType 和 flavor,以便能够将其添加到 crashlyticsUploadSymbols 调用中?
谢谢!
retrofit - Retrofit2 & Fabric, Crashlytics 不能使用
我在应用程序中使用 Retrofit 2.0.2 和 Fabric 1.21.6。我无法使用改造请求任何 api,因为它给出了以下错误。
我遵循了 git 中所述的解决方案:https ://github.com/twitter/twitter-kit-android/issues/28,https : //github.com/square/retrofit/issues/1152
android - Firebase 和 Crashlytics - 使用哪一个?
自从 Firebase 崩溃报告发布以来,最突出的问题之一就是是否从 Crashlytics 迁移。
比较两种崩溃报告服务的优缺点是什么?
android - 在应用内获取最新版本的 crashlytics 应用
我使用 crashlytics 已经有一段时间了,但我想不出一种方法来在我的 android 应用程序中进行基本的“检查更新”。
有没有办法通过 url 获取最新版本 ID 或日期?
android - 无法将 apk 上传到 Crashlytics
我正在尝试通过 Jenkyns 和 Crashlytics 自动化我的应用程序构建分发。我按照文档中的说明进行了所有配置,但 crashlyticsUploadDistributionRelease 失败并出现以下错误:“分发上传失败”和“警告 - Crashlytics 停止编译,因为它无法分发未签名的 APK:”。
我该如何解决?
android - 通过 Crashlytics 报告 Android 库中的崩溃
我正在构建一个 android 库,我计划将其集成到许多 3rd 方应用程序(不属于我)中。
因此,我试图找出一种方法来找出是否有任何第三方应用程序由于我的库中的代码而崩溃。有什么办法可以找出来吗?
我正在寻找 Crashlytics 来达到同样的效果。但是,据我了解,Crashlytics 只能将崩溃分析提供给应用程序所有者,对吗?有没有办法在没有第三方应用程序干预的情况下收集崩溃信息?
谢谢。
编辑:这不是将 Crashlytics 集成到库项目的副本,因为我希望 Crashlytics 成为将位于多个 android 应用程序上的 android 库的一部分,但我想单独收到通知 - 而不是来自正在安装我的 android 的应用程序图书馆。
android - Android Fabric - 以自定义间隔发送捕获的异常
根据 Fabric 文档Fabric doc to reduce user traffic,捕获的异常仅在应用程序启动时发送 -
Crashlytics 在专用后台线程上处理异常,因此对您的应用程序的性能影响很小。为了减少用户的网络流量,Crashlytics 将记录的异常批量处理在一起,并在应用下次启动时发送。
但是对于这个特定的应用程序,该应用程序将始终打开,并且不打算重新启动。所以问题是——
如何强制在一段时间后或某些事件后发送日志?
android - 通过 Fabric Beta 更新应用程序显示“您要卸载此应用程序吗?”
我已经通过 Fabric 发布了一个新版本的应用程序。我已经使用与以前版本相同的证书签署了 apk。从 Beta 版(由 Crashlytics 提供)打开应用程序后,当单击“安装更新”以获取新版本的应用程序时,它会显示“您要卸载此应用程序吗?”
我希望更新应用程序应该在没有此卸载对话框的情况下继续安装。为什么它要求卸载以前的版本,尽管它是用相同的证书签名的?
android-ndk - 从命令行构建 Crashlytics NDK 符号
我正在尝试将 Crashlytics 支持添加到我的 Android 项目中,该项目使用 NDK 和 gradle CMake。这意味着我的共享项目需要符号。因此,如果我想为发布构建创建符号,我会调用gradlew crashlyticsUploadSymbolsRelease
https://docs.fabric.io/android/crashlytics/ndk.html中的官方文档说符号生成和上传过程假定标准项目结构:src/main/obj 用于调试二进制文件,src/main/libs用于 ndk-build 生成的发布二进制文件。
在 gradle 文件中,这意味着一个新块,如下所示:
因为我使用 gradle CMake 集成来构建我的本机库,所以默认路径当然不起作用。我在发布模式下的本机库被构建到一个build/intermediates/cmake/release/obj
目录中,在调试模式下它们进入build/intermediates/cmake/debug/obj
目录。
通过反复试验,我发现如果我想让我的发布版本正常工作,我必须将发布模式本机库的路径放入两行,如下图所示。
我真的不明白androidNdkOut
和androidNdkLibsOut
变量之间的区别,因为至少在我的场景中它们指向同一个目录。幸运的是,这对我来说不是问题,因为我只需要 Crashlytics 来处理我的发布二进制文件。
所以我的问题是:
androidNdkOut
1)和之间的真正区别是什么androidNdkLibsOut
?为什么我不能将调试二进制文件的路径放在一个和将二进制文件发布到另一个的路径?除了解释之外,一个具体的例子会很好。
2)如果有一天我想为我的调试库包含符号,我应该如何修改我的 gradle 文件?这意味着该命令
gradlew crashlyticsUploadSymbolsRelease
以及gradlew crashlyticsUploadSymbolsDebug
将起作用吗?
在线程Crashlytics NDK symbols and Gradle tasks和Crashlytics NDK multi androidNdkOut path support中对此进行了讨论,但他们确实没有回答这两个问题。