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

epn*_*ght 5 android gradle apk android-studio

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

INSTALL_FAILED_NO_MATCHING_ABIS
Run Code Online (Sandbox Code Playgroud)

通过将以下内容放入我的build.gradle.

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,现在在我的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
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

小智 1

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

arm64-v8a
armeabi-v7a
x86
Run Code Online (Sandbox Code Playgroud)

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

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