问题标签 [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 - 如何从 externalNativeBuild 和使用 gradle 的 cmake 中获取未剥离的 .so?
我试图让 Crashlytics NDK 报告与我使用Android studio、gradle和cmake构建的.cpp代码一起工作(没有自定义内容)
Crashlytics NDK 需要剥离和未剥离二进制文件的路径。剥离的默认情况下位于“build/intermediates/cmake/release/obj”中,但是我找不到未剥离的。
然后我在构建时查看了控制台输出,它包含任务
所以我认为未剥离的没有被建造/保留。有什么方法可以让它保存未剥离的.so?谢谢
android - Build.gradle 不同步 Android Studio
我的 Android 应用程序的 build.gradle 文件中有以下依赖项。
但是,当我将 Crashlytics 添加为依赖项时,出现以下错误:
项目构建.gradle:
android - 何时发送 Crashlytics 自定义日志?
我有一个 BaseActivity 用作我所有活动的父级。我想将 Activity 事件(onCreate()、onStart()、onResume() 等)记录到 Crashlytics,所以当发生崩溃时,我知道用户在做什么以及当前活动的活动。我将以下代码添加到要记录的所有方法中:
我想知道这样做是否是个好主意。日志是否仅在发生崩溃时发送?我不会向服务器发送垃圾邮件并为用户产生不必要的网络调用吗?也许有更好的方法来使用 Crashlytics 实现面包屑?
android - 在 Crashlytics 上记录非致命错误
在 iOS 上,可以使用recordError(error)在 Crashlytics 上记录非致命错误,但显然此功能不适用于 Android。
我发现的唯一选择是使用logException(e)。我管理我的应用程序上的错误,并且我想在返回特定错误代码时记录。因此,在 Crashlytics 上,我希望 errorCode 引用非致命错误。但是使用logException(e)方法时,调用logException (e)的方法会引用错误。
我怎样才能做到这一点?
android - Android Crashlytics 未设置字符串
Crashlytics 允许使用崩溃日志发送字符串,但是如何取消设置呢?
假设我在制作媒体播放器。有时我想发送带有媒体 ID 的非致命日志。其他时候我想发送没有媒体 ID 的日志。
java - 将 branch.io 添加到我的 android 项目后出现重复输入错误
一切正常,但是在将它添加到我的 android 项目后,开始构建 apk 时出错。这是错误和依赖项
com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/crashlytics/android/answers/shim/R.class
也尝试排除它,但错误仍然存在。这是我的完整毕业典礼
如果我将排除语句添加到分支和数字,那么在进入应用程序时它会崩溃,如果将排除添加到 crashlytics,错误仍然存在。但是如果不添加分支,一切都可以完美运行,在 apk 构建期间也没有错误。
android - 启用 proguard 时无法使用 Crashlytics 2.6.7 和 io.branch.sdk.android.library:2+ 构建 android gradle?
我的 Gradle 设置:
使用上面的 crashlytics & branch.io 尝试在启用 proguard 的情况下构建 gradle。我得到以下错误。
Warning:Exception while processing task java.io.IOException: Can't write [/Users/Documents/test/andriod-test/app/build/intermediates/transforms/proguard/production/release/jars/3/1f/main.jar] (Can't read [/Users/Documents/test/andriod-test/app/build/intermediates/classes/production/release(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))))
Error:java.lang.RuntimeException: Job failed, see logs for details
Error:java.io.IOException: Can't write [/Users/Documents/test/andriod-test/app/build/intermediates/transforms/proguard/production/release/jars/3/1f/main.jar] (Can't read [/Users/Documents/test/andriod-test/app/build/intermediates/classes/production/release(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))))
Error:java.io.IOException: Can't read [/Users/Documents/test/andriod-test/app/build/intermediates/classes/production/release(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])))))))
Error:java.io.IOException: Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))
Error:java.io.IOException: Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])))))
Error:java.io.IOException: Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))
Error:java.io.IOException: Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])))
Error:java.io.IOException: Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))
Error:java.io.IOException: Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])
Error:java.io.IOException: Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]
android - Fabric套件的延迟初始化?
是否可以延迟初始化 Fabric Kits?例如,现在我这样做:
我只想初始化 Crashlytics(没有 twitter 的东西),如下所示,因为它快 10 倍,而且我不需要马上使用 Twitter 的东西
稍后,当用户访问我需要 TwitterCore 和 TweetUi 的活动时,我想在使用它们之前将它们即时添加到 Fabric 中。
这可能吗 ?
编辑: 我设法通过反射来做到这一点,这显然并不理想,但它暂时有效。我仍在寻找适当的解决方案。我是这样做的:
android - android上的一行NDK崩溃日志
我们有依赖于打包为 aar 的 ndk 库的应用程序。这个应用程序还使用 cmake 构建了它自己的 NDK 代码。
crashlyticsUploadSymbols<Flavor>
我们使用任务上传符号。当我检查build/fabric/<flavor>/release/csyms
两个库和我们所有支持的架构时都有 csym 文件。
一切似乎都很好,但是像这样象征性的原生崩溃。很多关于系统行的信息,但没有关于 libglmapview 内容的信息,这是每次崩溃中最有趣的部分。
我们的下一步是什么?如何找到为什么它不会展开本机堆栈跟踪?
android - Crashlytics 中用于记录未捕获异常的公共方法
我们通常在主线程的 Application.onCreate() 方法的早期阶段初始化 Crashlytics。Crashlytics 的初始化过程通常非常快,但在某些设备上仍可能需要超过 2 帧和长达 32 毫秒的时间。由于我们一直在改进冷启动时间,因此我们考虑将 Crashlytics 初始化置于后台线程中,问题是我们是否仍然可以在 Crashlytics 初始化之前捕获崩溃。
我们这里的方法是首先设置一个 CustomDefaultUncaughtExceptionHandler 并在后台线程中非常早地初始化 Crashlyatics。如果我们在 Crashlytics 初始化或待初始化之前发生崩溃,我们将在 CustomDefaultUncaughtExceptionHandler 中重新初始化 Crashlytics,并使用反射获取 CrashlyticsCore 的 CrashlyticsUncaughtExceptionHandler,然后记录这个未捕获的异常。
我们的问题是是否可以为我们创建一个公共方法来记录未捕获的异常,以便我们不必使用反射。或者,如果我们有其他建议可以将 Crashlytics 初始化卸载到后台线程,但也能够捕获早期异常。
伪代码如下所示: