Тип ошибки 3: Класс активности {...} не существует

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.m.e"
      android:versionCode="5"
      android:versionName="3.0">

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18"/>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
    <activity
            android:name="com.m.e"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action
                    android:name="android.intent.action.MAIN"
                    />

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity
            android:name="com.m.e"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action
                    android:name="android.intent.action.first"
                   />

            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>

    .....

</application>

</manifest>

Ошибка:

 Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.m.e/.Splash }
 Error type 3
 Error: Activity class {com.m.e/com.m.e.Splash} does not exist.

Примечание: .Splash существует.

Ответ 1

В build.gradle строка:

 apply plugin: 'android-library'

необходимо изменить на:

 apply plugin: 'com.android.application'

Ответ 2

У меня была такая же ошибка после переименования/рефакторинга. То, что я сделал, это добавить атрибут свойства applicationId в файл build.gradle и установить его значение в пакет приложения. Вот так:

android{
    defaultConfig{
        applicationId "com.example.mypackage"
    }
}

Ответ 3

Хотя это вопрос, опубликованный много лет назад, я хотел бы поделиться своим решением.

Открыть Run- > Edit Configuration, проверить, выбрано ли "Развернуть APK по умолчанию" на панели пакетов. Должен быть выбран "Развертывание APK по умолчанию".

Проблема возникает у меня, потому что по какой-то причине я выбрал "Не развертывать что-либо", и я забыл отменить выбранный.

Ответ 4

adb uninstall <your package name>

Это то, что сработало для меня. Хотя приложение даже не появилось как установленное приложение, но команда удаления исправила проблему. Моя теория. Вероятно, некоторые данные остались нечистыми после предыдущей деинсталляции, что приводит к тому, что следующая установка не будет полностью завершена.

Ответ 5

Я также столкнулся с одной и той же проблемой, проблема возникает, когда я деинсталлирую приложение и то же время, когда мне дано build.Then в студии ему дается вышеуказанная ошибка .so я пробовал каждый вариант, но это не сработало для меня. Поэтому я проверил в настройках → приложениях → мое приложение, и я видел, что приложение находится в отключенном состоянии, поэтому оно не устанавливает (дает ошибку). Я удалил приложение и попытался построить затем он отлично работает.

Ответ 6

Я попробовал все вышеперечисленные предложения, но только это решило мою проблему;

  • Изменить имя пакета нерелевантным и синхронизировать gradle.
  • Измените имя пакета, который вы хотите, синхронизируйте и запустите.

Ответ 7

Перейдите в настройки вашего устройства. Выберите опцию "Приложение", выберите это приложение из списка. В правом верхнем углу выберите "Панель меню" и выберите Удалить для всех пользователей. Это сработало для меня.

Ответ 8

Я получил эту ошибку на Android O (Google Pixel C). Я думаю, что и на других устройствах.

Я попытался установить (из AndroidStudio) на любое устройство, это было хорошо, но не на Android O. На Android я получал ту же ошибку (как указано ниже).

Основная причина. У меня есть два пользователя на этом устройстве (user1, user2). Когда я удалю приложение из user1 (приложение все еще присутствует в user2). Когда я пытаюсь переустановить приложение на user1, он возвращает ошибку. Этот случай в user2. Чтобы решить проблему, если я удалю приложение из обоих пользователей и переустановить его, он работает.

Из командной строки, если мы используем "adb install -r example.apk", она работает, но AndroidStudio не выполняет удаление и переустановку (если у вас есть два пользователя на устройстве).

Так что в моем случае это было из-за более чем одной проблемы с пользователем. Все мое другое устройство (кроме Android O) является единственным пользователем, поэтому он работал на других устройствах, за исключением Pixel C (с двумя пользователями). Поэтому следите за многопользовательским устройством.

No apk changes detected since last installation, skipping installation of /home/user/Project/AndroidStudioProjects/MyAddress/app/build/outputs/apk/app-debug.apk
$ adb shell am force-stop com.arris.myaddress
$ adb shell am start -n "com.example.address/com.example.address.MainActivity1" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Error while executing: am start -n "com.example.address/com.example.address.MainActivity1" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.address/.MainActivity1 }
Error type 3
Error: Activity class {com.example.address/com.example.address.MainActivity1} does not exist.

Error while Launching activity

Ответ 9

Недавно я только что столкнулся с этой ошибкой. Я исправил его, полностью удалив приложение на своем устройстве, а затем снова запустив.

Чтобы предложить некоторый контекст, это было вызвано использованием setComponentSetting()

Ответ 10

Да, я знаю, что на этот счет уже принят ответ, но он не работает (или может больше не работать). В настоящее время в версии Android 8.0 Oreo есть вероятность, что ваше приложение может быть удалено на вашем устройстве "Но не для всех пользователей". Так что в следующий раз, когда вы отлаживаете свое приложение на устройстве, эта ошибка происходит.

Error: Activity class "class path here" does not exist
Error type 3

Вот как ты это исправляешь, который абсолютно работает (искал его 2 дня, поверь мне)

  1. Если вы по-прежнему видите свое приложение в меню "Настройки"> "Приложение"> "Выберите свое приложение", перейдите к пункту на его панели инструментов и выберите " Удалить для всех пользователей ".

  2. Если вашего приложения нет в списке приложений, создайте/создайте APK, в моем случае (Android Studio 3.0.1) вы можете перейти в " Сборка"> "Сборка Apk". Установите его вручную на свое устройство. Затем выполните Шаг 1.

Там ! Ваше приложение полностью очищено и полностью удалено. Теперь вы можете отлаживать его в среде разработки.

Для дальнейшего исследования: я считаю, что приложение Samsung Pass как-то связано с этой ошибкой. Даже после удаления. Мой проект все еще в их списке.

Счастливого Приветствия Codings!

Ответ 11

Когда вы вручную изменили имя пакета, если manifest.xml в порядке, вам нужно изменить

применить плагин: 'android'

к

применить плагин: 'com.android.application'

Ответ 12

В вашей ошибке указано, что он ищет com.codealchemist.clashmma.splash. Большинство классов Java начинаются с буквы верхнего регистра - убедитесь, что ваше имя класса соответствует точно.

Ответ 13

Полагаю, у вас есть такие устройства, как мой LG Stylus 3 Android 7.0, в котором при нажатии и перемещении приложения с рабочего стола на мусор приложение не удаляется с устройства. Подробнее см. мой принятый ответ по тому же вопросу.

Ответ 14

В основном это проблема затмения, поэтому обычные сценарии могут работать с вами. Очистите проект и перестройте рабочее пространство, откройте манифест и проверьте, есть ли какая-либо ошибка, повторите проверку имени класса, указанного в журнале, очистите снова и снова, перезапустите eclipse, откройте и очистите.

Ответ 15

Я использовал библиотечный модуль с примером Activity, указанным в манифесте.

извлечение из работы манифеста из проекта библиотеки работало для меня.

Ответ 16

Переименование активности было исправлением в моем случае.

Ответ 17

У меня была аналогичная проблема, что я не смог найти решение после поиска и исправления ошибок здесь и там. Единственное, что сработало для меня - это создать новый проект, скопировать все коды в старые действия и вставить их в новые созданные действия (похожие имена, но разные пакеты). Он работал очень хорошо. Я попытался перед изменением имени пакета, но он не сработал. Это может сработать для вас, ребята.

Ответ 18

В моем случае я попробовал все упомянутые здесь, и они не исправили мою проблему. Проблема была не в Android Studio, а в устройстве. И после того, как я переустановил свое Android-устройство в настройки factory (как описано здесь https://support.google.com/android-one/answer/6088915?hl=en) проблема исчезла.

Ответ 19

Проверьте, не строят ли вы скрытую версию. То, что предназначено для скрытого приложения.

Если вы хотите создать обычную версию, вам нужно изменить Build Variant в Android Studio Сборкa > Выбрать вариант сборки, изменить его на обычный.

Ответ 20

Я решил эту проблему, перезапустив тестовое устройство и перезапустив Android Studio.

Ответ 21

Вот как я это исправил. перейдите в Gradle> Задачи> Установить> Удалить все

enter image description here

Ответ 22

В build.gradle,

изменить

apply plugin: 'android-library'

к

apply plugin: 'com.android.application'

Если ваш build.gradle уже имеет apply plugin: android-library, попробуйте очистить проект.