今天在使用 android 模拟器 时候,发现无法debug上 程序,报错如下:
Android-ABIFilter-Device supports x86,but APK only supports armeabi-v7a,armeabi,x86_64
模拟机的设备是 x86,但是运行的这个程序的 apk 却只支持 我们只支持 armeabi 的。
目前 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 | 少接触 |
我们的代码是在哪里设置apk对它们支持的?
如果你和我用的开发工具都是 Android Studio 的话,那么在程序的主module 的 build.gradle中你会发现有这么个代码:
defaultConfig { ndk { abiFilters
"armeabi"
,
"armeabi-v7a"
,
"x86_64"
} }