Android Studio не может разрешить символ, но код выполняется правильно

Недавно я создал файл Jar библиотеки, который был импортирован в проект Android. Я могу вызывать функции и использовать классы, которые присутствуют в этом Jar файле, но Android Studio продолжает говорить мне, что он не может "разрешить символ" класса, который я использую. Посмотрите скриншот ниже:

SDK class - cannot find symbol

Нажмите здесь для полноразмерного изображения

Код строит и выполняется успешно. Функция isThisThingWorking() просто возвращает true, и это то, что устанавливается boolean blah.

Я попытался нажать кнопку Sync Project with Gradle Files и использовать опцию Invalidate Caches / Restart... в меню Android Studio File, но ничто из этого не решило проблему. Что можно сделать, чтобы IDE Android Studio не отображала ошибку Cannot resolve symbol 'xxxSDK'?

Ответ 1

Я обнаружил проблему - мой SDK.jar не был сгенерирован правильно. Он включал файлы .java вместо файлов .class. Это объясняет, почему IDE не удалось найти класс SDK. Структура пакета в Jar все еще была правильной, поэтому само имя пакета не красного цвета. Код работал правильно, потому что компилятор знал, что нужно компилировать файлы .java.

Чтобы решить эту проблему, я изменил свой build.gradle своего SDK-проекта, .class файлы .class вместо файлов .java при создании Jar файла. Включение этого нового Jar вместо старого Jar исправило проблему IDE.

РЕДАКТИРОВАТЬ: Для большинства людей, Senthil ответ будет более подходящим. Я оставляю этот ответ как принятый, потому что он решил мою конкретную проблему.

Ответ 2

Я столкнулся с этой проблемой, когда IntelliJ IDEA внезапно закрылась из-за сбоя ОС.

Вы можете сделать "File" → "Invalidate Caches..." и выбрать опцию "Invalidate and Restart", чтобы исправить это.

Ответ 3

Попробуйте добавить библиотеку к Project Structure.

Для этого в меню выберите FileProject Structure. Выберите опцию Libraries и нажмите зеленую кнопку +, чтобы добавить свою библиотеку.

Ответ 4

Это всегда происходило со мной после переключения ветвей в моем текущем проекте: много нечувствительных эров сообщается IDE.

Решение состоит в том, чтобы изменить и сила a build.gradle синхронизация.

Ответ 5

Эта проблема регулярно генерируется в Android 3.1. Я перепробовал все возможные способы. Но это решается, когда я удаляю файл .gradle и .idea и запускаю Android-студию, которая уже закрыта.

Студия Android снова создаст .idea и .gradle файл для вашего проекта. После этого нажмите на синхронизировать проект с Gradle. Теперь все работает отлично.

Ответ 6

У меня поменял настройки языка впрыска.

Поместите курсор на любой красный подчеркнутый код и Alt + Enter

enter image description here

Теперь выберите Language Injection Settings и откроется окно, как показано ниже.

enter image description here

Убедитесь, что в поле ID: выбран правильный тип файла, снимите флажки с параметров, связанных с кодами ошибок, и нажмите кнопку "ОК".

enter image description here

Надеюсь, это кому-нибудь поможет.

Ответ 7

Попробуйте следующие шаги:

  1. Закройте свой проект, затем в папке вашего проекта удалите проект //.idea
  2. Удалить папку //.gradle также
  3. Нет, выберите " File из меню в левой верхней части Android Studio.
  4. Выберите опцию: Invalidate Cache/Restart Откроется диалоговое окно.
  5. Нажмите на первую кнопку с опцией: Invalidate and Restart

После попытки выше вариантов все должно работать нормально.

Ответ 8

У меня работало только

Файл → Открыть → и нажмите build.gradle, чтобы открыть проект