Класс активности не существует (тип ошибки 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 из комплекта приложения"

Вот как я это решил. Может быть полезным для кого-то.

  1. В AndroidStudio (AS) под панелью инструментов / меню "Выполнить" выберите пункт меню "Редактировать конфигурации".
  2. Во всплывающем окне "Конфигурация запуска / отладки" в разделе "Android App" выберите "app"
  3. Справа, на вкладке "Общие", проверьте, выбран ли модуль: приложение.
  4. В разделе "Параметры установки" "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 к ноутбуку / ПК, а затем выполнить ту же процедуру для запуска приложения на мобильном телефоне. Это длительная процедура, но если вы не понимаете других решений этого ответа, я рекомендую вам выполнить следующее. Они могут быть длинными, но работают нормально. Потому что у меня это сработало. Приложение, которое было удалено, устанавливается снова, и ваши программы будут полностью работать при подключении к ноутбуку / ПК, который вы использовали первым.

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