adb avd install 失败_执行adb install命令安装软件到Genymotion模拟器时报错,提示Failure [INSTALL_FAILED_NO_MATCHING_ABIS]...

使用adb命令远程在Genymotion上安装apk软件时,执行命令报错,如下

C:\WINDOWS\system32>adb install C:\Users\lly\Downloads\Wandoujia.apk

Performing Push Install

C:\Users\lly\Downloads\Wandoujia.apk: 1 file pushed. 50.7 MB/s (14476557 bytes in 0.272s)

pkg: /data/local/tmp/Wandoujia.apk

Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

查看了一下资料,原因如下:

由于安装的APP中使用了与当前CPU架构不一致的native libraries,所以导致报错,因为现在绝大多数的智能手机还都是采用ARM架构的,虽然android是支持ARM和x86架构,但是它们的指令集是有差别的,APP在开发的时候使用的是ARM的本地库,而我们在用AVD创建模拟器的时候使用的是x86的CPU,因此导致报错。所以,如果APP是在x86架构下编译的我们就创建x86cpu的模拟器,如果APP是在ARM架构编译的我们就创建ARMcpu的模拟器。

解决办法:

解决问题可以分为两个方法:

方法一、让genymotion模拟器支持arm架构。

既然创建的是x86模拟器,那么需要使用转换包使其能够支持arm。

下载ARM_Translation_Marshmallow 包,启动模拟器,把这个zip文件直接拖进模拟器,提示中点击OK,显示如下图则表示安装成功

然后我们重启一下模拟器再次尝试安装app,重启的时候可能会慢一点。

方法二、让该app项目将arm和x86的文件都包含进去。

可以在app的build.gradle中的android{}添加如下内容:

splits {

abi {

enable true

reset()

include ‘x86’, ‘armeabi-v7a’,‘x86_64’

universalApk true

}

}

其中对应的含义如下所示:

一般情况下第一中方法即可解决,如果不行可以尝试第二种方法

参考资料:

https://blog.csdn.net/Leafage_M/java/article/details/86675699

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值