我无法在Android模拟器中安装apk文件(例如亚马逊APK)。我一直在跟踪错误
APK安装失败。错误: INSTALL_FAILED_NO_MATCHING_ABIS:未能提取本机库,res=-113
我的模拟器正在运行:Android 10.0 x86_64 on Pixel 5
在搜索时,我发现错误的发生主要是由于不同的体系结构(在模拟器中的x86是预期的,而apk是arm64)。
我试过用arm64创建新的虚拟设备,但是即使在尝试了Stacoverflow的多个答案之后,我也无法启动该设备,并且一直在继续。
avd pixel_5_api_29_3的模拟器进程已经结束。
有人能帮我找到确切的问题吗?
发布于 2022-06-02 05:42:25
很多应用程序都包含用c++编写的库。C++代码将被编译成.so文件,这是不同的硬件ABI (应用程序二进制接口)。目前的ABI清单如下:
armeabi
armeabiv-v7a
arm64-v8a
x86
x86-64
mips
mips-64虽然64位cpu可能运行编译为32位的库,但ARM cpu不会运行编译为英特尔cpu的库,而英特尔cpu不会运行编译为ARM cpu的库。
如果您用ndk编写c++,它将编译为arm和x86,您可以在模拟器和实际设备上运行应用程序。
当您发布应用程序时,可以故意删除x86库,这使得无法在模拟器上运行。因此apk不会在仿真器上安装。它将在英特尔丢失的本机库上抛出错误。
https://stackoverflow.com/questions/72470749
复制相似问题