我试图将我的应用程序安装到Android L预览英特尔Atom虚拟设备,它失败了,错误:

INSTALL_FAILED_NO_MATCHING_ABIS

这是什么意思?


当前回答

在我的案例中,在xamarin项目中,在visual studio错误通过选择属性-> Android选项并检查使用共享运行时间和使用快速部署,在某些情况下,其中之一

其他回答

这对我很管用……Android > Gradle脚本>构建。gradle(模块:应用) 添加到android*

android {
  //   compileSdkVersion 27
     defaultConfig {
        //
     }
     buildTypes {
        //
     }
    // buildToolsVersion '27.0.3'

    splits {
           abi {
                 enable true
                 reset()
                 include 'x86', 'armeabi-v7a'
                 universalApk true
               }
    }
 }

我从另一个帖子中发布了一个答案,因为它对我来说很有效,诀窍是添加对两种架构的支持:

发布这篇文章是因为我找不到一个直接的答案,不得不看看几个不同的帖子来得到我想要的东西……

我能够使用x86加速(HAXM)模拟器,只需将其添加到我的模块构建中。gradle脚本在android{}块内:

splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk true
        }
    }

运行(构建)…现在在你的输出文件夹中会有一个(yourapp)-x86-debug.apk。我确信有一种方法可以在运行时自动安装,但我只是启动我首选的HAXM模拟器并使用命令行:

adb install (yourapp)-x86-debug.apk

这确实是一个奇怪的错误,可能是由应用程序的多索引引起的。为了解决这个问题,在应用程序的构建中使用下面的块。gradle文件:

android {
  splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
  }
  ...[rest of your gradle script]

基本上如果你尝试一切,你仍然有同样的错误”,因为我面临这个问题之前太“然后检查. jar或. aar或模块添加使用ndk可能是一个库,这一个是不支持8.0(奥利奥)+,同样我使用微软SignalR插座库添加它的. jar文件和最近我发现应用程序没有安装在奥利奥后来我删除库,因为目前没有解决方案在git页面,我去另一个。

因此,如果你迫切需要,请检查你正在使用的图书馆并搜索它。

在visual studio社区版2017中,有时从Android选项中选择受支持的ABIs将不起作用。

在这种情况下,请验证.csproj有以下行,并且在相同的构建配置中没有重复的行。

 <AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>

为了编辑,

卸载你的Android项目 右键单击并选择编辑项目… 确保在构建配置中只出现一次上面的行 保存 右键单击你的android项目并重新加载