Andriod 出现SIGILL 异常
来源:互联网 发布:idea创建web项目ubuntu 编辑:程序博客网 时间:2024/04/20 03:25
我们项目中导入了第三方的library时,有的手机会报SIGILL(ILL_ILLOPC)异常,这时候我们需要警觉是否匹配部分手机的cpu架构。
例如导入faceId的类库IDCardLib
可见他的lib里是支持arm64-v8a架构的,因此在项目的config.gradle文件的abiFilters中加入'arm64-v8a'
这样运行时,就不会出现异常了。
illegal instruction介绍:
SIG是信号名的通用前缀。ILL是 illegal instruction(非法指令) 的缩写。SIGILL 是当一个进程尝试执行一个非法指令时发送给它的信号。可执行程序含有非法指令的原因,一般也就是cpu架构不对,编译时指定的march和实际执行的机器的march不同。这种情况,因为工具链一样,连接脚 本一样,所以可执行程序可以执行,不会发生exec format error。但是会包含一些不兼容的指令。还有另外一种可能,就是程序的执行权限不够,比如在目态下运行的程序只能执行非特权指令,一旦CPU遇到特权指 令,将产生illegal instruction错误。
SIG是信号名的通用前缀。ILL是 illegal instruction(非法指令) 的缩写。SIGILL 是当一个进程尝试执行一个非法指令时发送给它的信号。
可执行程序含有非法指令的原因,一般也就是cpu架构不对,编译时指定的march和实际执行的机器的march不同。这种情况,因为工具链一样,连接脚 本一样,所以可执行程序可以执行,不会发生exec format error。但是会包含一些不兼容的指令。还有另外一种可能,就是程序的执行权限不够,比如在目态下运行的程序只能执行非特权指令,一旦CPU遇到特权指 令,将产生illegal instruction错误。
更多关于CPU架构的知识请看:http://blog.csdn.net/ouyang_peng/article/details/51168072 (原文链接)
阅读全文
0 0
- Andriod 出现SIGILL 异常
- SIGILL
- Andriod异常搜集
- andriod:labelfor异常
- SIGILL错误
- andriod 出现解析包出现错误
- [原]NDK程序在虚拟机上运行出现signal 4 (SIGILL), fault addr 错误的原因及解决方法
- Andriod Studio中出现找不到…
- andriod开发出现的错误及解决方案
- andriod
- andriod
- Andriod
- andriod
- andriod
- Andriod
- Andriod
- Andriod
- Andriod java.lang.IllegalArgumentException:already added:异常解决办法
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
- java前奏
- 字符串截取
- Mac下使用Eclipse编译C/C++文件出现 launch failed, binary not found 解决方案
- 将ajax请求封装为一个对象(原生js)
- Andriod 出现SIGILL 异常
- springmvc 请求400 bad request(授之以鱼不如授之以渔,使用firebug找错)
- PAT 乙级 1004
- OTA升级Google官方文档翻译——OTA Package Tools
- linux下openoffice启动和自动启动设置(centos)
- 网页嵌入iframe底部的空白
- 51nod 1875-丢手绢(打表)
- java命名规范
- Hadoop Streaming