我想发布多个apks:一个用于移动设备,另一个用于同一应用程序中的其他androidtv。根据{{3}},同一应用程序中只有四个区别过滤器:
目前,Google Play允许您发布多个APK 仅当每个APK提供不同的过滤器时才使用相同的应用 在以下配置上:
OpenGL纹理压缩格式
屏幕尺寸(以及可选的屏幕密度)
API级别
CPU架构(ABI)
所有其他过滤器仍然像往常一样工作,但这四个是 只有可以区分一个APK与另一个APK的过滤器 Google Play上的应用程序列表。例如,您无法发布 如果APK仅基于不同,则为同一应用程序提供多个APK 关于设备是否有相机。
我想通过API级别和屏幕大小来区分,但似乎有重叠:
androidtv app的API级别(MinSDK)保持在21,移动应用程序的级别保持在16级。因此API级别(21级及以上)重叠。
Android tv的屏幕尺寸可能与平板电脑的屏幕尺寸重叠: 例如。 Publishing Multiple APKs with Different Filters是720p,1080i和1080p。 common high-definition TV display resolutions分辨率为720x1280。
我担心如果我发布更高版本的androidtv apk,它可能会取代平板电脑上的移动应用程序,API级别> = 21,屏幕尺寸为720x1280,也符合电视应用程序布局大小。
那么如何在app的清单中使用不同的过滤器清楚地区分这两个apks?
更新
我已经在androidtv应用程序的清单
中添加了leanback功能<manifest>
<uses-feature android:name="android.software.leanback"
android:required="true" />
...
</manifest>
我看到42个支持的androidtv apk设备(无法查看哪些设备)和10791 for mobile apk设备以及整个应用程序支持的总共10832个设备。
10791 + 42 = 10833
因此,仍有可能出现1(10833 - 10832 = 1)重叠设备,因为它会显示警告。
重叠警告
androidtv apk
mobile apk
总设备
我不认为重叠消息是因为androidtv apk是一个超级集的移动apk,正如其中一篇评论中提到的那样,看看androidtv支持的设备数量要少得多。
由于只有一个可能的重叠设备,我将发布它,但我希望我知道哪些设备重叠以接收两个apks。
答案 0 :(得分:5)
实际上有一个“功能”用于专门针对Android TV。您可以查看docs中的说明。但基本上你只需要指定它使用leanback
功能,如下所示。
<manifest>
<uses-feature android:name="android.software.leanback"
android:required="true" />
...
</manifest>
这将确保任何运行leanback的电视设备都能获得您的APK(如果您使用的是APK,则可以设置required = false)。我相信所有官方Android电视都在使用此功能。有可能leanback可以在非电视设备上播放,但在这种情况下,他们的所有应用都将显示为电视应用。
您可以停用/启用其他几项功能来定位Android TV,您可以查看release checklist了解更多信息(具体为this section)。
有一点需要注意的是,您的手机和电视APK可能会满足一些重叠的设备。与Play Console团队的代表交谈后,他们建议了解决方法:
关于您有重叠设备的多apk版本 - 是的,您的Android TV APK总是需要更高版本的代码。有几个选项可以帮助解决这个问题:
您可以手动将2个重叠设备列入黑名单。这将立即解决重叠APK的问题,但如果将来发布的新设备符合这两个APK的条件,您将再次遇到此问题。
- 醇>
为您的Android TV APK使用明显高于移动设备APK的版本代码方案。例如,您的电视APK可以是现有版本代码+ 100000或100808,而您的移动设备APK仍然是838.在这种情况下,您可以将移动设备APK发布到版本代码100808,而无需更新您的Android TV APK每一次推动。这也可以解决Alpha / Beta测试Android TV APK的任何问题。
他的回复也在this doc的“分配版本代码”部分中介绍。