【问题标题】:Android app-universal.apk fails to install on EmulatorAndroid app-universal.apk 无法在模拟器上安装
【发布时间】:2017-11-01 13:33:24
【问题描述】:

我的应用使用 Zoom SDK。我在使用 x86 系统映像(特别是在多个设备上为 23、24、25)的 Android 模拟器上安装它时遇到问题,出现错误:

INSTALL_FAILED_NO_MATCHING_ABIS

我能够使用另一个 StackOverflow 帖子的建议解决这个问题,方法是将以下内容放入我的 build.gradle。

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

但是,现在在我的app/builds/outputs/apk 文件夹中,生成了多个 apk,即:

app-arm64-v8a-debug.apk
app-armeabi-debug.apk
app-armeabi-v7a-debug.apk
app-mips-debug.apk
app-mips64-debug.apk
app-universal-debug.apk
app-x86-debug.apk
app-x86_64-debug.apk

编辑:创建发布版本也会创建这些相同的版本,减去“调试”名称,改用“发布”。 根据文档,

通用 APK 在单个 APK 中包含所有 ABI 的代码和资源。

但是,当我尝试安装 app-universal.apk 时,我失败并出现与以前相同的 ABIS 错误。 我还尝试生成发布版本,但失败并出现同样的错误。

不过,在模拟器上安装app-x86-debug.apk 效果很好。因此,在我看来,通用 apk 上的文档似乎与实际行为不符。

有人可以向我解释如何生成一个可以在 android 设备和模拟器上运行的 apk 吗?如果没有,为什么我没有得到预期的行为表单app-universal.apk?

【问题讨论】:

  • 当你也尝试构建x86_64时会发生什么?
  • 构建还是安装?我刚刚尝试将其安装到模拟器上,并且安装成功。至于构建,这是通过 Android Studio 自动完成的。

标签: android android-studio gradle apk


【解决方案1】:

您应该在各自的文件夹中添加库。 根据您要添加的数量,您的库下应该有三个或两个文件夹。

arm64-v8a
armeabi-v7a
x86

如果您没有 x86 并构建通用应用程序,它将不会安装,因为最终包中将缺少此库。

app-x86-debug.apk 将安装,因为它没有任何本机库版本。但是在安装 app-x86-debug.apk 之后,您的应用程序将在模拟器上崩溃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 2018-09-23
    • 2018-12-06
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多