11

编辑:

根据@marbarfa 的回答,这似乎与第 3 方库有关。阅读他的回答和评论以获得完整的解释。

谢谢马尔巴法!


使用新的 Google Play 开发者控制台时,我遇到了一个奇怪的情况:我最近切换到 Facefbook 的 fresco 图片加载库,这也许可以解释我的问题。

(可能在这里报告了类似的问题:Google play, publishing app update, issue with 'Native platform'

在将 beta 版本推广到生产的框架中,我遇到了这个问题:

在新的 Google Play 控制台上,在发布管理/应用程序发布下,当在“新发布到生产(从 beta 2.2.0 升级)”中看到这一点

“本机平台”值从 arm64-v8a、armeabi、armeabi-v7a、x86、x86_64 更改为 none

“以前的 APK”的 Google Play 控制台页面代码摘录:

Differentiating APK details
Native platforms

arm64-v8a, armeabi, armeabi-v7a, x86, x86_64

“新 APK”(带有 Facebook 的 Fresco 的 Beta 版)的 Google Play 控制台页面代码摘录:

Differentiating APK details
Native platforms

none

我更新了我所有的(10 个!)应用程序,它似乎没问题(支持的设备数量相同,即 11434),但我仍然对不了解到底发生了什么感到不舒服。

有人可以解释一下吗?

谢谢!

4

1 回答 1

14

我将尝试尽可能简单地解释问题:

当您拆分某些架构(例如:)时,问题似乎会发生,arm64-v8a, armeabi, armeabi-v7a, x86, x86_64但您在这些架构上没有任何本机实现。

例如,在我的例子中是 mips 和 mips64。

Play 商店似乎识别出基于lib/$arch文件夹的 apk 支持的架构。因此,如果 apk 缺少此文件夹,playstore 会将“ none ”显示为“ native platform ”(您可以通过解压缩 apk 来检查)。

问题是“ none ”被解释为“ all architectures are supported ”然后根据versionCode下载apk。

如果您有一个“ native platform ”为“ none ”的apk,其versionCode 高于另一个具有本机实现的apk,则用户最终将下载具有更高versionCode 的apk。根据应用程序或配置,这是否可以正常工作。

问题是在 gradle 如何拆分 apk 时产生的,您必须小心如何为拆分定义 versionCode。

于 2017-05-22T22:59:27.667 回答