Android TV SDK33新建项目启动失败:提示Activity类不存在
解决Android TV新项目启动报错:Activity类不存在
问题重现
新建未修改的Android TV项目(targetSdk/compileSdk均为33),启动时出现以下错误:
Error while executing: am start -n "com.example.myapplication/com.example.myapplication.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.myapplication/.MainActivity } Error type 3 Error: Activity class {com.example.myapplication/com.example.myapplication.MainActivity} does not exist. Error while Launching activity Failed to launch an application on all devices
已尝试清理Gradle缓存、Invalid Caches/Restart、重新构建项目,问题仍存在。
解决方案
检查AndroidManifest.xml的Activity配置
Android TV的启动Activity需要使用android.intent.category.LEANBACK_LAUNCHER而非手机端的LAUNCHER。确认MainActivity的intent-filter配置:<activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity>若配置为
LAUNCHER,Android Studio尝试用该category启动时会找不到对应Activity。确认运行设备为Android TV类型
普通手机模拟器/设备无法识别LEANBACK_LAUNCHER启动项,会导致AS自动切换用LAUNCHER启动。需使用Android TV模拟器或真实Android TV设备运行项目。检查应用ID一致性
打开模块级build.gradle,确认defaultConfig中的applicationId与错误信息中的包名com.example.myapplication完全一致:defaultConfig { applicationId "com.example.myapplication" minSdk 21 targetSdk 33 // 其他配置 }彻底卸载设备上的残留应用
设备可能存在同名应用的缓存残留,执行adb命令彻底卸载后重新构建安装:adb uninstall com.example.myapplication
内容的提问来源于stack exchange,提问作者Meenakshi Khandelwal
相关产品推荐
相关产品推荐

