You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AndroidTV/FireTV应用频道Banner不显示,FireStick显示1:1图标求助

Android TV/Fire Stick 频道Banner不显示问题排查与解决

问题描述

开发Android TV/Fire Stick项目时,已按文档要求将ic_banner.png放入对应drawable文件夹,但Fire Stick设备上的频道图标始终显示1:1比例的应用图标,而非预期的16:9 Banner。尝试将文件移至mipmap文件夹无效,系统始终 fallback 到居中显示在16:9矩形里的ic_launcher图标,显示效果差。怀疑是否与Android Studio侧载应用有关,暂不想推送应用。

提供的配置文件

Manifest文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="private">

    <uses-permission android:name="android.permission.INTERNET" />

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

    <application
        android:allowBackup="true"
        android:screenOrientation="landscape"
        android:banner="@drawable/ic_banner"
        android:hardwareAccelerated="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/Theme">
        <activity
            android:name=".ui.host.hostdetail.HostDetailActivity"
            android:exported="true" />
        <activity
            android:name=".ui.DeviceLinkActivity"
            android:exported="true" />
        <activity
            android:name=".ui.SplashActivity"
            android:exported="true"
            android:noHistory="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.MainActivity"
            android:exported="true" />
        <activity
            android:name=".ui.VideoPlayerActivity"
            android:exported="true" />
    </application>

</manifest>

ic_banner.xml文件

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@color/ic_banner_background"/>
    <foreground android:drawable="@drawable/ic_banner_foreground"
        android:gravity="center"
    />
</adaptive-icon>

排查与解决步骤

  1. 替换自适应图标为标准PNG Banner
    Fire Stick的频道Banner不支持自适应图标(adaptive-icon)格式,当前的ic_banner.xml会导致系统无法识别,转而使用应用图标。

    • 直接使用16:9比例的PNG图片,标准尺寸为:
      • xhdpi: 320×180px
      • xxhdpi: 480×270px
      • xxxhdpi: 640×360px
    • 将PNG文件命名为ic_banner.png放入对应drawable文件夹,删除原ic_banner.xml。
  2. 清理项目缓存并重新编译
    Android Studio可能缓存了旧资源,执行以下操作:

    • Build > Clean Project
    • Build > Rebuild Project
    • 重新侧载应用到Fire Stick。
  3. 清除Fire Stick设备缓存
    设备可能保留了旧的应用图标缓存:

    • 卸载应用后,进入设置 > 应用 > 管理已安装应用,找到应用并清除缓存和数据
    • 重启设备后重新安装应用。
  4. 为Leanback启动Activity单独配置Banner(可选)
    在启动Activity标签下添加Banner配置,确保TV launcher优先识别:

    <activity
        android:name=".ui.SplashActivity"
        android:exported="true"
        android:noHistory="true"
        android:banner="@drawable/ic_banner"> <!-- 添加此行 -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
        </intent-filter>
    </activity>
    

内容的提问来源于stack exchange,提问作者Joel Hager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 23:25:56