最近使用模拟器运行项目,编译时报错导致不能运行,具体如图
网上描述的信息是因为模拟器存储空间不足导致软件不能安装,在AS中重新设置了模拟器的存储控件还是会报错。后面查询后面报错信息才发现真机与模拟器的CPU架构不一样导致安装软件报错
市面上绝大多数的智能机都是采用ARM架构,虽然安卓支持ARM和x86。ARM采用的是精简指令集(RISC),x86使用的是复杂指令集(CISC),属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。
ARM与x86的区别
1、ARM架构注重的是续航能力
2、x86架构注重的是性能+速度
AS默认创建的模拟器都是x86架构的CPU,编译后的apk与模拟器的ndk不兼容,导致报上面的错误。所以我们的项目是ARM架构就创建ARM模拟器,是x86项目就创建x86模拟器。AS默认创建的模拟器都是x86架构,所以需要注意下。
在win上运行arm架构的模拟器是运行不了,会报如下错误,即使按照网上删除该文件下的*.lock文件一样也运行不了
查看项目的ndk配置: android/app/build.gradle
解决方法:
1、使用真机进行开发
2、在ndk中添加x86
3、https://wenku.baidu.com/view/d3c908bf6cdb6f1aff00bed5b9f3f90f77c64df9.html