问题:
往android模拟器安装apk的提示INSTALL_FAILED_NO_MATCHING_ABIS:系统不支持的CPU架构
分析:
- 确认apk支持的CPU架构
-
方法一:使用jadx将apk解压,检查lib/ABI目录,一般情况下,目录列表是以下的其中一种或者几种:
① armeabiv-v7a(32位ARM设备): 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
② arm64-v8a(64位ARM设备): 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
③ armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
④ x86: 平板、模拟器用得比较多。
⑤ x86_64: 64位的平板备注:显示一种即只支持一种,显示两种的话就是支持两种(注意:显示的目录为2种的时,两个目录下的文件应该完全一样,才能支持两种CPU架构),如下图所示:
-
方法二:
zipinfo -1 test.apk | grep \.so$
,如下图所示:
- 检查模拟器支持的CPU架构
- 使用adb命令检查设置的cpu架构
adb shell getprop ro.product.cpu.abi
如图所示: - 虚拟机可以直接在编辑里面查看,如图所示:
解决方案
更换模拟器的CPU架构。更换模拟器的image,如下图所示: