如何在 Android 应用程序中处理 *.so 库中的本机异常?

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

我正在开发 Android 应用程序以与网络打印机配合使用。 Atol 打印机有自己的用于打印文本的本机库 (*.so)。在某些情况下,这个库会抛出本机异常,即使我的代码包含在

try { } catch (t: Throwable) { }

中,我的应用程序也会崩溃

logcat中显示以下信息:

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x630000005d in tid 29523 (RxCachedThreadS), pid 27187 (my.app.package)

如何在 Kotlin 代码中处理这个本机异常?

android kotlin exception segmentation-fault native
1个回答
0
投票

我不知道你的库方法返回什么,但你总是可以返回一个 nullptr 并使返回类型可为空。这样你就可以在内部处理错误并在返回 nullptr 之前使用 __android_log_print() 记录它们。 这样你就可以在 Logcat 中看到该消息。

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