Android 上的 Sentry for Qt 传输无效?

问题描述 投票:0回答:2

在 Android 上(使用 Qt)设置 Sentry 传输的正确方法是什么?

我有一个使用 Qt C++ 和 Sentry 构建的应用程序。 Sentry 在大多数情况下运行良好,但它输出

discarding envelope due to invalid transport
而不是发送任何事件。我按照 Qt 的操作方法进行操作,但它没有提到设置传输。正确的使用方式是什么?

尝试使用crashpad,但它说Android不支持。

将来,我也想在 iOS 上进行日志记录,而 Sentry Native 似乎不支持,所以如果有人知道的话,我并不反对替代框架。

android c++ qt sentry
2个回答
0
投票

Sentry Native SDK 本身与 Android 不兼容。它错过了允许它捕获崩溃和其他功能的重要位。

要在 Android 上使用 Sentry,您需要使用 Sentry SDK for Android,它将 Sentry Native 与在 Android 上工作所需的正确修改捆绑在一起。

换句话说,Android 上的 Sentry Native 是通过 Sentry SDK for Android 安装的,其中包括 Android 上所需的 stackwalker 和传输。在 iOS 上,您可以使用 Sentry Cocoa(崩溃板也不起作用)。

您可以按照此问题的建议将 Qt 集成到 Android 应用程序中:https://github.com/getsentry/sentry-java/issues/1626


0
投票

在你的Qt中

main.cpp
你需要通过JNI调用
SentryAndroid.init(context)
。这会初始化传输。

参考:sentry-java 问题 3229

© www.soinside.com 2019 - 2024. All rights reserved.