Android app-universal.apk无法在模拟器上安装

问题描述 投票:3回答:1

我的应用使用Zoom SDK。我在使用x86系统映像(具体是在几台设备上分别是23、24、25)在Android模拟器上安装时遇到了问题,出现错误:

INSTALL_FAILED_NO_MATCHING_ABIS

通过将以下内容放在我的build.gradle中,我能够使用另一个StackOverflow帖子中的建议来解决此问题。

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

编辑:创建发行版也将创建这些相同的版本,减去'debug'名称,改为使用'release'。根据文档,

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

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

但是,在仿真器上安装app-x86-debug.apk效果很好。因此,在我看来,通用apk上的文档似乎与实际行为不匹配。

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

android android-studio gradle apk
1个回答
0
投票

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

arm64-v8a
armeabi-v7a
x86

如果您没有x86并构建通用应用程序,则将不会安装该应用程序,因为此lib将在最终软件包中丢失。

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

© www.soinside.com 2019 - 2024. All rights reserved.