在目标上安装应用程序时INSTALL_FAILED_CPU_ABI_INCOMPATIBLE获取此错误消息如何解决?

时间:2010-01-12 07:15:10

标签: android

想知道是否存在任何架构明智的问题?

3 个答案:

答案 0 :(得分:3)

ABI(应用程序二进制接口)指定特定于机器体系结构的详细信息。 来自维基百科:

  

ABI涵盖数据类型等详细信息,   大小和对齐;呼唤   惯例,控制如何   函数的参数传递和   检索返回值;系统   电话号码以及如何申请   应该进行系统调用   操作系统;在一个案例中   完整的操作系统ABI ,.   二进制格式的目标文件,程序   图书馆等。

在“PackageManager.java”文件中找到它:

  

public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16;

     

安装返回码:这是   传递给了   IPackageInstallObserver by   installPackage(android.net.Uri, IPackageInstallObserver, int)如果   正在安装的包包含   本机代码,但没有   与设备兼容   CPU_ABI。

你的apk必须包含一些编译的二进制代码(使用NDK?),以便在其他机器(模拟器)上安装时使用不同的机器/模拟器。

答案 1 :(得分:2)

我在BlueStacks支持论坛中看到了对该主题的引用。 如果您指的是BlueStacks,当您尝试安装具有本机ARM代码并需要二进制转换以在X86架构上工作的应用程序时,您将收到此错误。

alpha版本目前不支持此功能。请查看此链接以获取更多详细信息:http://community.bluestacks.com/bluestacks/topics/some_apps_like_angry_birds_fruit_ninja_are_marked_unavailable_on_channels_website_why_is_this_so

[编辑]:如果您有任何与BlueStack相关的问题,请在BlueStacks社区发布, 你也可以找到一些常见问题的答案(比如这个)。

答案 2 :(得分:1)

我将avd更改为目标sdk版本并且工作正常