发布APK至Google Play Store遇报错:提示含TV启动器需以App Bundle发布,实则无
以下是几个实用的排查和解决方向:
检查
AndroidManifest.xml的启动Activity配置
确认所有带android.intent.action.MAIN的<intent-filter>里,只包含android.intent.category.LAUNCHER,绝对不能出现android.intent.category.LEANBACK_LAUNCHER——这个是Google判定应用为TV应用的核心标记,哪怕你没写任何TV代码,只要有这个category就会触发报错。查看合并后的Manifest文件
第三方依赖库可能会偷偷把TV相关配置合并到你的Manifest里。在Android Studio中打开AndroidManifest.xml,切换到Merged Manifest标签,搜索LEANBACK_LAUNCHER或者android.software.leanback关键词,找到来源后,要么换用不含TV组件的依赖版本,要么通过gradle的exclude规则移除相关模块。检查build.gradle配置
确认defaultConfig里没有启用TV相关配置项,比如有没有设置leanbackSupport = true,或者有没有针对TV的特殊productFlavors配置。清理缓存后重新构建
执行命令行:./gradlew clean(Windows环境用gradlew clean),然后重新生成APK。也可以通过Android Studio的File -> Invalidate Caches... -> Invalidate and Restart清除IDE缓存,避免旧构建残留导致异常。用APK Analyzer验证APK内容
打开Android Studio的APK Analyzer,导入你的APK,直接查看最终打包的Manifest文件,确认没有TV相关的组件、权限或category。如果发现有多余的TV资源(比如tv专用布局、drawable),也可以清理掉。
内容的提问来源于stack exchange,提问作者Slava

