在本机信号处理期间从JNI进行Java调用

时间:2016-07-04 05:38:20

标签: java android java-native-interface

我实现了一个自定义POSIX信号处理程序 参考:http://blog.httrack.com/blog/2013/08/23/catching-posix-signals-on-android/

它们似乎是ART的平台限制。

是否有解决办法或通过信号处理程序方法从JNI调用java方法。

如果没有,那么是否有替代方案来捕获本机崩溃并传播到应用程序?

1 个答案:

答案 0 :(得分:1)

首先 - 你应该非常认真地对待你在信号处理程序中所做的事情。还有一个list函数可以从那里安全地调用,查找"异步信号安全函数"。当然,您不应该通过JNIEnv调用该列表之外的任何内容或任何其他内容,因为您不知道JVM在幕后做了什么。

结果,无法将错误传播到应用程序。您可以使用write()将某些内容写入某个文件,然后在下次启动时测试该文件。