gpt4 book ai didi

android - Abi 过滤器 - 被一个或多个具有更高版本代码的 APK 遮蔽

转载 作者:行者123 更新时间:2023-11-29 23:45:54 26 4
gpt4 key购买 nike

我有一个使用 vlc 库的媒体播放器应用程序。 VLC 有 'armeabi-v7a' 和 'arm64-v8a' 的 jni 库。现在为了减小大小,我想分别为这两种架构上传 apk,所以我在 gradle 中制作了 flavors。 gradle 中的调味代码如下所示:flavorDimensions“默认”

productFlavors {

arm64 {
versionCode 73
versionName "1.0.4"
ndk.abiFilter "arm64-v8a"
}
arm {
versionCode 74
versionName "1.0.4"
ndk.abiFilter "armeabi-v7a"
}
}

我得到的 apk 有包含各自文件的 libs 文件夹,arm64 对应 arm64-v8a,armv7 对应 armeabi-v7a,这两个 apk 的大小不同。

现在问题是当我将这两个 apk 上传到 Beta 或 alpha 版本的 Playstore 时,我收到错误:

此 APK 将不会提供给任何用户,因为它完全被一个或多个具有更高版本代码的 APK 覆盖。

如果我在 v8 之后上传 v7,v8 表示它将被更高版本(即 v7)覆盖。

任何想法为什么会发生这种情况,当存在 libs 文件夹时,Playstore 会根据该文件夹识别 flavor 差异。

最佳答案

我发现了错误。

由于v8向下兼容,armv8也可以运行v7 apk。因此 v8 apk 的版本代码应该高于 v7,因此具有 armv8 架构的用户应该使用 v8 apk。所以我不得不把它变成这样:

productFlavors {

arm64 {
versionCode 75 // <- higher version code than v7
versionName "1.0.4"
ndk.abiFilter "arm64-v8a"
}
arm {
versionCode 74
versionName "1.0.4"
ndk.abiFilter "armeabi-v7a"
}
}

关于android - Abi 过滤器 - 被一个或多个具有更高版本代码的 APK 遮蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51415414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com