AndroidStudio: невозможно разрешить символ MainActivity

У меня есть ошибка "Не удается разрешить символ MainActivity" в этом коде.

<activity
        android:name=".MainActivity"          //here
        android:label="@string/app_name"
        android:launchMode="singleTask" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/> 

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

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="MainActivity"
                android:scheme="callback" />
        </intent-filter>
    </activity>

Излишне говорить, что MainActivity наследует активность и имя пакета тоже правильно.

Почему?

Спасибо

Вот изображение структуры каталогов.

Snapshot of the directory structure

Ответ 1

Возможно ли, что ваш каталог src не установлен в качестве исходного каталога?

Ваша IDE, похоже, видит ваш com.example.fovoapp как простую структуру каталогов вместо пакета. Также, глядя на ваше связанное изображение, маленький "J" в java файлах говорит мне об этом. Когда java файл устанавливается как источник, он обычно отображается как класс "C".

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

Ответ 2

в файле AndroidManifest.xml и ваши классы должны быть одинаковыми.

Заголовок AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ahmet.currencies">

Ответ 3

Возможно, вы используете неправильный путь для каталога src.
Он должен находиться на пути: ./yourApp/src/main, а не ./yourApp/src/androidTest
Вы можете переместить его вручную.

Ответ 4

щелкните правой кнопкой мыши папку src- > Отметьте каталог как- > источник root.

Теперь ваш файл mainactivity.java с символом 'j', чтобы перейти к символу 'c'.

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

Ответ 5

В файле build.gradle добавьте следующее.

android {
     sourceSets {
            main.java.srcDirs += 'src/<YOUR DIRECTORY NAME>'
        }
...
...
}

Ответ 6

установите совместимый уровень API. у меня также та же ошибка на лице, поэтому я установил свой уровень API на 23 в file-> проекте structure-> app-> flavour → target sdk version

Ответ 7

Чистые тайники

File → Invalidate Caches/Restart...