Класс активности не существует (тип ошибки 3)
У меня есть устройство nexus5x с android O, и я разрабатываю приложение на своем ноутбуке, а также на другом компьютере. Но когда я хочу запустить приложение на другом компьютере после того, как я запустил его на своем ноутбуке, я всегда получаю сообщение об ошибке, описанное ниже.
Error while executing: am start -n "com.safetylink.android.safetylinkheartbeatapp/com.application.aware.safetylink.auth.SplashScreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.safetylink.android.safetylinkheartbeatapp/com.application.aware.safetylink.auth.SplashScreenActivity }
Error type 3
Error: Activity class {com.safetylink.android.safetylinkheartbeatapp/com.application.aware.safetylink.auth.SplashScreenActivity} does not exist.
Error while Launching activity
Это волшебство для меня, потому что у меня нет такой же проблемы с другими телефонами (просто переустанавливаются) и с эмулятором. Приложение отлично работает на них.
Я думаю, что это связано с настройками nexus5x, но я точно не знаю. Что я должен сделать, чтобы решить эту проблему?
PS: Я уже пытался очистить, перестроить проект, переименовать активность, сделать недействительным кеш и перезапустить несколько раз, а также отключить запуск экземпляра, но у меня это не работает.
3 ответа
На некоторых устройствах (LG Stylus 3 Android 7.0) при нажатии и перемещении приложения с рабочего стола в корзину приложение не удаляется с устройства. Вы можете восстановить приложение, удаленное таким способом, позже, не переустанавливая его из Google Play. Если это ваш случай, вы можете увидеть эту ошибку:
Error while executing: am start -n "ru.alanov.cashbox/ru.alanov.cashbox.activity.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.your.app/.activity.MainActivity }
Error type 3
Error: Activity class {ru.alanov.cashbox/com.your.app.activity.MainActivity} does not exist.
Error while Launching activity
при попытке переустановить приложение из Android Studio через ADB. Зайдите в Настройки -> Приложения -> Нажмите на свое приложение и удалите его. После этого ошибка исчезает.
Если вы получаете эту ошибку, возможно, это связано с тем, что приложение, которое вы пытаетесь загрузить, все еще установлено для другой учетной записи пользователя на том же устройстве.
Другими словами, удаление приложения для текущей учетной записи пользователя не обязательно приводит к удалению этого приложения для всех других учетных записей пользователя на устройстве.
Если вы зайдете в Настройки => Приложение и поищите соответствующее устройство, вы увидите, что оно все еще может быть там. В этом случае нажмите на приложение, чтобы отобразить экран информации о приложении, и перейдите в меню переполнения "..." в правом верхнем углу. Нажмите, и там должна быть возможность удалить приложение для всех пользователей.
После того как вы удалили приложение для всех пользователей, эта ошибка должна исчезнуть, и вы сможете загрузить и запустить приложение.
У меня та же проблема с моим проектом. Я разрешаю его, перейдя в файл и щелкнув по Invalidate Caches / Restart.
Похоже, есть много возможных проблем, которые вызывают эту ошибку. В моем случае я изменил параметры установки (см. Ниже шаги, чтобы узнать, где находятся параметры установки) на "APK из комплекта приложения"
Вот как я это решил. Может быть полезным для кого-то.
- В AndroidStudio (AS) под панелью инструментов / меню "Выполнить" выберите пункт меню "Редактировать конфигурации".
- Во всплывающем окне "Конфигурация запуска / отладки" в разделе "Android App" выберите "app"
- Справа, на вкладке "Общие", проверьте, выбран ли модуль: приложение.
- В разделе "Параметры установки" "Deploy: " был выбран неправильно. Выбрал обратно в "Default APK", и после этого все работало правильно.
У меня была такая же проблема, и вот как я ее исправил.
Перейдите в Gradle > Задачи> Установить> Удалить все
В моем случае была полезна установка параметра " Развернуть: APK по умолчанию " в Android Studio.
Вы можете попробовать удалить приложение с помощью команды adb
adb shell pm uninstall <packageName>
Если это не сработало, вы можете попробовать это
./gradlew uA
Если ни один из них не работает, вы можете попробовать собрать apk и подключить его к телефону через кабель. Это должно работать вот так.
Большое спасибо за приведенные выше ответы, я думаю, в моем случае проблема была с устройствами Redmi, работающими на MIUI, который поддерживает второе пространство.
У меня он был включен, что вызывало проблемы с удалением предыдущей установки, что мешало новой установке, кстати, я также пытался вручную скопировать APK на SD-карту, чтобы установить его, что также не удалось, говоря "Приложение не может быть установлено".
Поэтому, если кто-то вроде меня использует MIUI, пожалуйста, дважды проверьте, что второе пространство включено, когда вы получаете эту ошибку, и ваше приложение недоступно в Настройках-> Приложения и панель запуска.
На телефоне с проблемой перейдите по ссылке: Настройки приложений. Если вы видите приложение в списке, выберите его и удалите оттуда.
Похоже, что просто перетащить, чтобы удалить, на самом деле не удалить его.
Еще одна замечательная функция Android
Один из способов решить эту проблему - загрузить и установить Android Studio на другой ноутбук / ПК и выполнить требования для подключения Android к ноутбуку / ПК, а затем выполнить ту же процедуру для запуска приложения на мобильном телефоне. Это длительная процедура, но если вы не понимаете других решений этого ответа, я рекомендую вам выполнить следующее. Они могут быть длинными, но работают нормально. Потому что у меня это сработало. Приложение, которое было удалено, устанавливается снова, и ваши программы будут полностью работать при подключении к ноутбуку / ПК, который вы использовали первым.