代码之家  ›  专栏  ›  技术社区  ›  rock321987

无法在Android Studio Emulator上安装apk文件

  •  0
  • rock321987  · 技术社区  · 4 年前

    我无法在Android Studio模拟器中安装apk文件(例如。 Amazon APK )。我不断收到以下错误

    APK安装失败。 错误:INSTALL_FAILED_NO_MATCHING_BIS:无法提取本机库,res=-113

    我的仿真程序正在运行: Android 10.0 x86_64 在…上 Pixel 5

    在搜索中,我发现错误的发生主要是由于不同的体系结构(模拟器中的x86是预期的,但apk是arm64)。

    我试着用arm64创建新的虚拟设备,但即使在尝试了Stacoverflow的多个答案后,我仍然无法启动设备

    avd pixel_5_api_29_3的模拟器进程已终止

    有人能帮我找到确切的问题吗?

    0 回复  |  直到 4 年前
        1
  •  0
  •   AIMIN PAN    4 年前

    很多应用程序都包含用c++编写的库。C++代码将被编译为.so文件,每个硬件ABI(应用程序二进制接口)不同。ABI的当前列表为:

    armeabi
    armeabiv-v7a
    arm64-v8a
    x86
    x86-64
    mips
    mips-64
    

    虽然64位cpu可能运行编译为32位的库,但ARM cpu不会运行编译为intel cpu的库,intel cpu也不会运行编译至ARM cpu的库。

    如果你用ndk编写c++,它将编译到arm和x86,你可以在模拟器和真实设备上运行你的应用程序。

    当你发布你的应用程序时,你可以故意删除x86库,这使得它无法在模拟器上运行。因此apk不会安装在模拟器上。它将在英特尔丢失的本机库上引发错误。