仅适用于 Android TV 的 Android 清单 - 支持的设备太少?

Posted

技术标签:

【中文标题】仅适用于 Android TV 的 Android 清单 - 支持的设备太少?【英文标题】:Android Manifest for Android TV only - too few devices supported? 【发布时间】:2017-01-28 02:50:27 【问题描述】:

我已经使用 Unity3D 创建了一个 android TV 应用程序,并且正在尝试编写一个合适的 android 清单。

我希望我的应用能够显示在尽可能多的 Android TV 设备上,而不是智能手机和平板电脑上。

文档说:

声明您的应用使用 Android TV 所需的 Leanback 用户界面。如果您正在开发在移动设备(手机、可穿戴设备、平板电脑等)以及 Android TV 上运行的应用程序,请将所需的属性值设置为 false。如果您将 required 属性值设置为 true,您的应用程序将仅在使用 Leanback UI 的设备上运行。

因此,我在清单中将所需的eanback 设置为true。 这将我的应用程序将启动的设备数量减少到 40 个,并且不包括我自己的测试设备(例如 Sony Bravia KDL 55W805C)。对于 Sony Bravia 设备,它似乎只包括 4K 模型,这比必要的限制要多得多。

假设所有 Android 电视都使用 Leanback UI,我错了吗? 为了让应用程序在尽可能多的 Android TV 设备上可用(不包括智能手机或平板电脑),我必须在清单中添加/删除什么?

这是整个清单,以防问题出在其他地方:

<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0">
<uses-feature 
    android:name="android.hardware.touchscreen"
    android:required="false" />
<uses-feature 
    android:name="android.software.leanback"
    android:required="true" />
<supports-screens
    android:smallScreens="false"
    android:normalScreens="false"
    android:largeScreens="true"
    android:xlargeScreens="true"
    android:requiresSmallestWidthDp="600" />

<application
    android:theme="@style/UnityThemeSelector"
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:debuggable="true">
    <activity 
            android:name="com.unity3d.player.UnityPlayerActivity"
            android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </activity>
</application>

【问题讨论】:

你怎么知道索尼 Bravia 不在这 40 款列表中?你也可以参考this SO post。 因为列表是按制造商排序的,而且列表中只有两个 Sony Bravia,但我没有。然而,我后来发现,设备列表并不准确:我公司推出的另一个应用程序也只列出了 40 台设备,但可以在不在列表中的设备上下载。 【参考方案1】:

开发者控制台中的 SONY 电视列表有点误导,但您基本上可以将其视为:“BRAVIA 4K - SVP-DTV15”= [All 2K/4K 2015 models]。 “BRAVIA 4K GB - BRAVIA_ATV2” = [所有 2K/4K 2016+ 型号]。在此处查看更多信息:https://developer.sony.com/develop/tvs/android-tv/

【讨论】:

【参考方案2】:

我有同样的问题。我从 Manifest 中删除了对 RECORD_AUDIO 的权限,只添加了这些:

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

    <uses-feature android:required="false" android:name="android.hardware.faketouch"/>
    <uses-feature android:required="false" android:name="android.hardware.touchscreen"/>

现在它支持超过 40 条 Android TV 电视线路。

【讨论】:

以上是关于仅适用于 Android TV 的 Android 清单 - 支持的设备太少?的主要内容,如果未能解决你的问题,请参考以下文章

Android TV 应用程序未通过审核

应用被拒绝。适用于 Android TV 的 Google Play 资格问题

被拒绝的应用 Google Play 上没有适用于 Android TV 的全尺寸应用横幅

适用于 Netflix Android TV 应用程序 (com.netflix.ninja) 的电影 Deeplink

将 Google Cast 集成到 Android TV 应用中

Android TV-电视开发知识点速览