Android TV с SDK 33 не запускается

Когда я создаю новый проект для Android TV, используя Android Studio. Получил эту ошибку

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

Он использует targetSdk и complieSdk как 33. Это совершенно новый проект, использующий студию Android без каких-либо изменений. Я очищаю свой гладильный кеш, недействительный кеш и перезапускаю, проект перестраивается после очистки, но он не запускается.

Столкнувшись с той же проблемой

Anant Shah 25.04.2023 09:58

Какой шаблон вы использовали в Android Studio?

Neil Turner 28.04.2023 14:17

Отвечает ли это на ваш вопрос? Отсутствует ошибка MainActivity при работе на эмуляторе Android TV

Halil Ozel 29.04.2023 18:29

Я думаю, что нужно использовать LAUNCHER вместо LEANBACK_LAUNCHER

Meenakshi Khandelwal 01.05.2023 14:27
0
4
105
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы ранее реализовали собственный экран-заставку в Android 11 или более ранней версии, вам необходимо перенести свое приложение на SplashScreen API, чтобы обеспечить его правильное отображение в Android 12 и более поздних версиях.

Вы можете выполнить шаги, упомянутые здесь, чтобы исправить проблему с запуском приложения в API 33: Нажмите здесь, чтобы узнать шаги

ИЛИ

Возможно, проблема с категорией лаунчера. Пожалуйста, проверьте AndroidManifest.xml. Здесь пусковую установку Leanback нужно добавить в вашу основную деятельность, я предполагаю, что вы создали эмулятор для google tv, а затем добавьте оба кода пусковой установки. это будет работать.

<activity
        android:name = "com.example.myapplication.MainActivity"    
        android:label = "@string/app_name" >    
        <intent-filter>    
            <action android:name = "android.intent.action.MAIN" />    
            <category android:name = "android.intent.category.LEANBACK_LAUNCHER" />
            <category android:name = "android.intent.category.LAUNCHER" /> 
        </intent-filter>    
    </activity>

Но я не использовал и не менял ни одной строки кода при создании нового проекта с использованием Android Studio для Android TV. Поэтому я не использовал какой-либо пользовательский экран-заставку.

Meenakshi Khandelwal 25.04.2023 10:23

@MeenakshiKhandelwal Я обновил ответ, пожалуйста, проверьте и дайте мне знать, работает ли он для вас или нет.

Anant Shah 03.05.2023 09:38

Я получал ту же ошибку.

Эти настройки работали для меня:

Использование API 33

...
<intent-filter>
   <action android:name = "android.intent.action.MAIN" />
   <category android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
...

Вы должны проверить более подробную информацию:

https://developer.android.com/training/tv/start/start

Используя это уже <intent-filter> <action android:name = "android.intent.action.MAIN" /> <category android:name = "android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> я думаю в API 33 необходимо использовать category.LAUNCHER вместо category.LEANBACK_LAUNCHER

Meenakshi Khandelwal 01.05.2023 14:24

Раньше я тоже так пользовался, но для API 33, который я так начал использовать, все работало без проблем.

Halil Ozel 01.05.2023 14:55

Так я упомянул об этом в комментарии. Вы можете проверить детали на веб-сайте.

Halil Ozel 01.05.2023 14:56

Другие вопросы по теме