发布 Android 应用程序 - 区分 APK 详细信息 - “本机平台” = 无?
Posted
技术标签:
【中文标题】发布 Android 应用程序 - 区分 APK 详细信息 - “本机平台” = 无?【英文标题】:Publishing Android app - Differentiating APK details - "native platform" = none? 【发布时间】:2017-09-24 23:32:42 【问题描述】:编辑:
根据@marbarfa 's answer,这似乎与第 3 方库有关。 阅读他的回答和评论以获得完整的解释。
谢谢马尔巴法!
使用新的 Google Play 开发者控制台,我面临一个奇怪的情况: 我最近切换到 Facefbook 的 fresco 图片加载库,这也许可以解释我的问题。
(此处可能报告了类似的问题:Google play, publishing app update, issue with 'Native platforms')
在将 beta 版本推广到生产环境的过程中,我遇到了这样的情况:
在新的 Google Play 控制台上,在发布管理/应用发布下,当在“新版本到生产(从 beta 2.2.0 升级)”中看到这一点
“原生平台”值从 arm64-v8a、armeabi、armeabi-v7a、x86、x86_64 更改为无!
“以前的 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),但我仍然对不了解到底发生了什么感到不舒服。
谁能解释一下?
谢谢!
【问题讨论】:
你解决了吗? 还没有。但目前一切似乎都很好。 【参考方案1】:我会尽量简单地解释问题:
当您拆分某些架构(例如:arm64-v8a, armeabi, armeabi-v7a, x86, x86_64
)但您在这些架构上没有任何本机实现时,问题似乎会发生。
例如,在我的例子中是 mips 和 mips64。
Play 商店似乎可以识别基于 lib/$arch
文件夹的 apk 支持的架构。因此,如果 apk 缺少此文件夹,则 playstore 将“none”显示为“native platform”(您可以通过解压缩 apk 来检查)。
问题是“none”被解释为“所有架构都支持”,然后根据versionCode下载apk。
如果您有一个“native platform”为“none”的 apk,其 versionCode 高于另一个具有本机实现的 apk,用户最终将下载具有更高版本代码的 apk。根据应用程序或配置,这是否可以正常工作。
问题在于 gradle 如何拆分 apk,您必须小心如何为拆分定义 versionCode。
【讨论】:
所以也许我删除了一些旧的空 lib/$arch 文件夹。谢谢:我会检查是否向后移动版本! @Pascal 不需要。以我为例,我使用了 card.io 和 fresco 库,而在新版本中,我不再使用 card.io,这是唯一具有 mips 和 mips64 本地实现的库。以上是关于发布 Android 应用程序 - 区分 APK 详细信息 - “本机平台” = 无?的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 打包apk,自动追加版本号和版本名称