Android-Device supports x86,but APK only supports armeabi-v7a,armeabi,x86_64

Android-Device supports x86,but APK only supports armeabi-v7a,armeabi,x86_64

即设备支持x86,但APK仅支持armeabi-v7a

解决方案如图

项目根路径,app文件夹找到build.gradle文件,找到相关代码并改成如下形式:主要是加上 ‘x86’

defaultConfig {
    ndk {
        //选择要添加的对应cpu类型的.so库。
        abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a',"x86"
        // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
    }

}

在这里插入图片描述

原因

模拟机的设备是 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中,选择“ 生成”菜单,
在这里插入图片描述
然后单击Select Build Variant …并在’Build Variants’窗口中选择x86Debug(或release)
在这里插入图片描述

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页