6

我想发布多个 apk:一个用于移动设备,另一个用于同一应用程序中的 androidtv。根据发布具有不同过滤器的多个 APK,同一应用程序中只有四个不同的过滤器:

目前,Google Play 允许您为同一个应用发布多个 APK,前提是每个 APK 根据以下配置提供不同的过滤器:

  • OpenGL 纹理压缩格式

  • 屏幕尺寸(以及,可选的,屏幕密度)

  • API 级别

  • CPU 架构 (ABI)

所有其他过滤器仍然像往常一样工作,但只有这四个过滤器可以在 Google Play 上的同一应用程序列表中将一个 APK 与另一个 APK 区分开来。例如,如果 APK 仅基于设备是否具有摄像头而有所不同,则您不能为同一个应用程序发布多个 APK。

我想通过 API 级别和屏幕大小来区分,但似乎有重叠:

  1. androidtv 应用程序的 API 级别 (MinSDK) 保持在 21,移动应用程序的 API 级别保持在 16。因此 API 级别(21 及以上)存在重叠。

  2. android 电视的屏幕尺寸可能与平板电脑的屏幕尺寸重叠:例如。常见的高清电视显示分辨率为 720p、1080i 和 1080p。三星nexus分辨率也是720x1280 。

我担心如果我发布更高版本的 androidtv apk,它可能会替换 API 级别 >= 21 且屏幕尺寸为 720x1280 的平板电脑上的移动应用程序,这也符合电视应用程序布局大小的条件。

那么如何在应用程序清单中使用不同的过滤器清楚地区分这两个 apk 呢?

更新

我已经在 androidtv 应用程序的清单中添加了倾斜功能

<manifest>
    <uses-feature android:name="android.software.leanback"
        android:required="true" />
    ...
</manifest>

我看到 androidtv apk 支持 42 个设备(看不到哪些设备),移动 apk 设备支持 10791 个设备,整个应用程序总共支持 10832 个设备。

10791 + 42 = 10833

因此仍有可能出现 1 (10833 - 10832 = 1) 个重叠设备,因此会显示警告。

重叠警告

在此处输入图像描述

安卓电视 apk

在此处输入图像描述

手机apk

在此处输入图像描述

设备总数

在此处输入图像描述

我不认为重叠消息是因为 androidtv apk 是移动 apk 的超集,正如在查看 androidtv 支持设备数量的评论中提到的那样,这要少得多。

由于只有一个可能的重叠设备,我将发布它,但我希望我知道哪些设备重叠以接收两个 apk。

4

1 回答 1

5

实际上有一个“功能”用于专门针对 Android TV。您可以查看文档中的说明。但基本上你只需要指定它使用如下leanback功能。

<manifest>
    <uses-feature android:name="android.software.leanback"
        android:required="true" />
    ...
</manifest>

这将确保任何运行leanback 的电视设备都能获取您的APK(如果您使用的是一个APK,您可以设置required=false)。我相信所有官方的安卓电视都在使用这个功能。可能会在非电视设备上使用leanback,但在这种情况下,他们的所有应用程序都将显示为电视应用程序。

您可以针对 Android TV 禁用/启用其他几项功能,您可以查看发布清单以获取更多信息(特别是本节)。

需要注意的一件事是,您的移动和电视 APK 可能会满足一些重叠的设备。在与 Play 管理中心团队的代表交谈后,他们推荐了解决方法:

关于您拥有重叠设备的多 apk 场景 - 是的,您的 Android TV APK 始终需要具有更高版本的代码。有几个选项可以帮助解决这个问题:

  1. 您可以手动将 2 个重叠设备列入黑名单。这将立即解决重叠 APK 的问题,但是如果将来发布符合这两个 APK 条件的新设备,您将再次面临此问题。

  2. 为您的 Android TV APK 使用明显高于移动设备 APK 的版本代码方案。例如,您的 TV APK 可以是现有版本代码 + 100000 或 100808,而您的移动设备 APK 仍为 838。在这种情况下,您可以发布版本代码为 100808 的移动设备 APK,而无需更新您的 Android TV APK每一次推动。这也将解决与 Alpha/Beta 测试 Android TV APK 相关的任何问题。

他的回复也包含在本文档的“分配版本代码”部分。

于 2016-09-26T14:54:16.137 回答