Android:Device supports x86, but APK only supports armeabi, armeabi-v7a,arm64-v8a on device

一、前言:

在我运行app的时候出现如下错误

Android:Device supports x86, but APK only supports armeabi, armeabi-v7a,arm64-v8a on device

二、解决方案:

我也在网上查了很多,经过自己的尝试验证过的结论分享给大家。

报错信息大概意思是:即设备支持x86,但APK仅支持armeabi, armeabi-v7a,arm64-v8a
defaultConfig {
    ndk {
        //选择要添加的对应cpu类型的.so库。
        abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a',"x86"
        // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
    }

}

Android:Device supports x86, but APK only supports armeabi, armeabi-v7a,arm64-v8a on device

原因

模拟机的设备是 x86,但是运行的这个程序的 apk 却只支持 armeabi-v7a,armeabi 和 x86_64 三种。

这个问题不仅仅是一个问题,它是很多个问题

是的,那么问题来了

x86,armeabi-v7a,armeabi,x86_64 到底是什么玩意?

我们的代码是在哪里设置apk对它们支持的?

怎么查看和设置模拟机的支持类型?

1.x86,armeabi-v7a,armeabi,x86_64 到底是什么玩意?

这四个玩意都是 CPU 架构类型的名称。

目前 android 支持的 CPU 架构有有以下几种:

CPU架构 描述

armeabi 第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢

armeabi-v7a 第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能

arm64-v8a 第8代,64位,包含AArch32、AArch64两个执行状态对应32、64bit

x86 intel 32位,一般用于平板

x86_64 intel 64位,一般用于平板

mips 少接触

mips64 少接触

如果强行使用armeabi-v7a,armeabi,x86_64版本的模拟器会怎么样?

系统会提示您x86运行非常快,并且实操证明,即使装了低版本的模拟器也会一直卡在开机界面进不去。

其他方法(如果自己的Androidstudio支持)

在Android Studio中,选择“ 生成”菜单,

Android:Device supports x86, but APK only supports armeabi, armeabi-v7a,arm64-v8a on device

Android:Device supports x86, but APK only supports armeabi, armeabi-v7a,arm64-v8a on device

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/820ca283a4.html