美文网首页
JNI错误收集

JNI错误收集

作者: 续写经典 | 来源:发表于2016-06-30 10:07 被阅读508次

1. Native Crash 错误信号

信号 信号值 错误描述
SIGILL 4 非法指令
SIGFPE 4 算数错误,例如:除以零
SIGABRT 6 异常终止
SIGBUS 7 内存错误,不可访问的内存区域
SIGSEGV 11 段错误,非法内存访问、越界访问

更多错误信息

2. UnsatisfiedLinkError

异常信息:
Process: com.woosiyuan.cruiserobot.robot, PID: 8358
java.lang.UnsatisfiedLinkError: Native method not found: android_serialport_api.SerialPort.openTest:(Ljava/lang/String;II)Ljava/io/FileDescriptor;
    at android_serialport_api.SerialPort.openTest(Native Method)
    at android_serialport_api.SerialPort.<init>(SerialPort.java:70)
    at com.woosiyuan.cruiserobot.electronic_tag.CommOperate.<init>(CommOperate.java:36)
    at com.woosiyuan.cruiserobot.electronic_tag.ElectronicTagTask.<init>(ElectronicTagTask.java:38)
    ...

找不到openTest这个Native方法导致的错误,so库里面的方法路径、方法名称都是固定的,java里面如果不对应就会导致这个错误,可以通过查看your.so文件来确定对错,文本编辑器用十六进制方式打开your.so,搜索报错class类名,排除错误,效果图如下:


(图画的太丑了,请轻喷,哈哈)
画红线的地方找到了两个Native方法: openclose,然后对应报错class里声明的Native方法

openTest更正为open,重新编译运行就正常了。

相关文章

  • JNI错误收集

    1. Native Crash 错误信号 更多错误信息 2. UnsatisfiedLinkError 找不到op...

  • JNI收集知识

    Android JNI 中的线程操作[https://link.zhihu.com/?target=https%3...

  • 异常处理

    很多情况下,本地代码做JNI调用后都要检查是否有错误发生,本章讲的就是怎么样检查错误和处理错误。我重点放在JNI函...

  • 编译 SO 踩坑

    JNI DETECTED ERROR IN APPLICATION: jarray was NULL' 详细错误信...

  • JNI分析

    本文主要是自己对JNI学习的一个总结和笔记,如果错误的地方还请大神纠正 JNI简述 1:JNI 全称 Java N...

  • JNI错误排查

    保存log日志: adb logcat > log.text ndk-stack 工具分析: adb logcat...

  • JNI时容易出错的地方

    本章总结了JNI实际应用中容易出错的一些情况供JNI程序员参考。10.1 错误检查编写本地方法时最常见的错误就是忘...

  • JNI 解惑

    1. Q: 在 Visual Code 中出现错误 无法打开 源 文件 "jni.h" 如何解决? A: 这个错误...

  • JNI编译错误:错误: 编码GBK的不可映射字符

    在使用AndroidStudio进行JNI开发时,写好了本地方法,使用javah命令时出现如下错误: 出现这种错误...

  • jni错误之信号6错误

    错误原因,char[]给的大小空间不够,在linux不会崩溃,但是在手机上会。

网友评论

      本文标题:JNI错误收集

      本文链接:https://www.haomeiwen.com/subject/tzwxjttx.html