修改
按照@marbarfa 's answer,这似乎与第三方库有关。 阅读他的回答和评论以获得完整的解释。
谢谢marbarfa!
使用新的Google Play开发者控制台,我遇到了一个奇怪的情况: 我最近切换到Facefbook的壁画图像加载库,这可能解释了我的问题。
(可能在此报告类似的问题:Google play, publishing app update, issue with 'Native platforms')
在将beta版本推广到制作的框架中,我遇到了这个问题:
在新的Google Play控制台上,在发布管理/应用版本下,在“新版本到生产(从Beta 2.2.0推广)”中,我看到了这一点
“原生平台”值已从arm64-v8a,armeabi,armeabi-v7a,x86,x86_64更改为无!
Google Play控制台页面代码摘录“之前的APK”:
Differentiating APK details
Native platforms
arm64-v8a, armeabi, armeabi-v7a, x86, x86_64
谷歌Play控制台页面代码摘录为“新APK”(Beta版与Facebook的壁画):
Differentiating APK details
Native platforms
none
我更新了我的所有(10!)应用程序,它似乎没问题(支持的设备数量是相同的,即11434),但是,我仍然不能理解究竟发生了什么。
有人可以解释一下吗?
谢谢!
答案 0 :(得分:11)
我会尝试尽可能简单地解释问题:
当您拆分某些体系结构(例如:arm64-v8a, armeabi, armeabi-v7a, x86, x86_64
)时,问题似乎就会发生,但您在这些体系结构上没有任何本机实现。
例如,在我的例子中是mips和mips64。
Play商店似乎认识到基于lib/$arch
文件夹的apk支持的架构。因此,如果apk缺少此文件夹,则Playstore会显示" none " as" 原生平台" (你可以通过解压缩apk来检查)。
问题在于" none "被解释为" 支持所有架构"然后将根据versionCode下载apk。
如果你有一个apk" 原生平台" as" none "使用更高版本的Code而不是具有本机实现的另一个版本,用户将最终下载具有更高versionCode的apk。根据应用程序或配置的不同,这样可以正常工作。
关于gradle如何拆分apks会产生问题,你必须小心如何为你的分裂定义versionCode。