发布 Android 应用 - 区分 APK 详细信息 - "native platform" = none?

Publishing Android app - Differentiating APK details - "native platform" = none?

编辑:

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

谢谢 marbarfa !


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

(此处可能报告了类似的问题:Google play, publishing app update, issue with 'Native platforms'

在将 beta 版本推广到生产的过程中,我遇到了这个:

在新的 Google Play 控制台上,在 Release Management / App release 下,在 "New release to production (Promoting from beta 2.2.0)" 我看到这个

"Native platforms" 值从 arm64-v8a、armeabi、armeabi-v7a、x86、x86_64 更改为 none!

Google "previous APK" 的 Play 控制台页面代码摘录:

Differentiating APK details
Native platforms

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

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

Differentiating APK details
Native platforms

none

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

有人可以解释一下吗?

谢谢!

我会尽可能简单地解释问题:

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

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

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

问题是“none”被解释为“支持所有架构”然后apk将根据versionCode下载。

如果你有一个带有“native platform”的 apk 作为“none”并且版本代码比另一个更高有本机实现,用户最终将下载具有更高版本代码的 apk。根据应用程序或配置,这会正常工作,也可能不正常。

问题是关于如何 gradle 拆分 apk 的,您必须小心定义拆分的版本代码。