我正在创建的android本机库中有一个问题,该问题依赖于另一个第三方库。
我正在使用专有的Android POS终端(Android Lollipop API 22)。它带有一个专有的本机库“ .so”,我在用我自己的本机代码包装该库,该代码将从Android Java中调用。
我遇到的问题是,当我的代码引发本机库中捕获的c ++异常时(也就是说,我没有向Java引发异常),应用程序在throw语句处因SIGSEGV致命错误而崩溃。
如果我从链接中删除了第三方本机库,则可以抛出并捕获所有想要的异常。重新添加“ .so”库,任何抛出都会导致崩溃。
您知道如何解决或解决该问题吗?
答案 0 :(得分:0)
我参加聚会可能会迟到,但最近我遇到了同样性质的车祸。 以我为例,c似乎已经知道编译库的问题,这些库在抛出“本机”异常时崩溃。我已经升级了工具链,因此现在可以通过最新的“ android-ndk-r21”对其进行交叉编译。 对我来说就做到了。
答案 1 :(得分:0)
事实证明,问题出在第三方图书馆。如果构建的本机库没有异常,则调用该库的代码也不能使用异常。
非常沮丧。