安卓模拟器主要就2种类型(windows上运行),
一种是原生的sdk,真正模拟真机,如genymotion(基于virtualbox)和androidstudio(基于android sdk);
一种是把android 底层的api接口翻译成windows api,调的其实是windows系统的接口,如腾讯手游助手,夜神模拟器,雷电模拟器,蓝叠模拟器等,且特定版本都是特定android版本,不能选择android版本.
andriod studio 模拟器(android 8.0.0 X86,X86_64)安装apk报错:could not parse error string
genymotion 模拟器安装apk报错:An error orrucred while deploying the file.This probably meas that the app contains ARM native and your Genymotion device cannot run ARM instructions.You should either build your native code to x86 or install an ARM translation tool in your device.
查资料https://www.cnblogs.com/liyanli-mu640065/p/9970097.html 是因为要安装的apk限制了只能在ARM架构的CPU机器上,但是模拟器用的是X86,或X86_64架构
Device supports x86,but Apk only supports armeabi-v7a
首先了解了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: RISC处理器
mips64:RISC处理器
我们可以在build.gradle中有ndk这段代码,只要在后面加上“x86”,再sync now一下,就发现可以运行了。
ndk {
abiFilters "armeabi-v7a","x86"
}