发布Android应用程序 - 区分APK详细信息 - “native platform”= none?

时间:2017-04-27 09:01:59

标签: android android-manifest developer-console

修改

按照@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),但是,我仍然不能理解究竟发生了什么。

有人可以解释一下吗?

谢谢!

1 个答案:

答案 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。