作为Android NDK Caffe的新用户,我想在我的Android项目中使用内置版本。我试图运行this built sample demo,但在运行时,它显示以下内容:
03-26 14:46:35.697 2800-3042/com.sh1r0.caffe_android_demo A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 3042 (AsyncTask #1)
(应用程序崩溃)
答案 0 :(得分:1)
我可以看到sigsev信号是通过android AsyncTask抛出的。 问题可能来自这个功能。
Int16
此信号来自JNI,除非您可以本地(通过ndk)调试应用程序,否则很难知道问题出在哪里。 caffe-sample未配置为在本机方法上进行调试。
尝试此问题来管理错误:
确保此字符串[0]数组中的图像路径不为空。并且存在。
确保其他caffeMobile功能无需执行 问题,例如:
caffeMobile.predictImage(strings[0])[0]; //line 160 of MainActivity
如果您能够执行其他功能,可能是您的图像路径不正确,请检查。
如果你无法执行loadModel或setNumThreads函数,可能是apk没有正确加载libjni.so库,或者jni网桥无法定位jni函数。