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
.
Для этого в меню выберите File
→ Project 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
Попробуйте следующие шаги:
- Закройте свой проект, затем в папке вашего проекта удалите проект /
/.idea
- Удалить папку /
/.gradle
также - Нет, выберите "
File
из меню в левой верхней части Android Studio. - Выберите опцию:
Invalidate Cache/Restart
Откроется диалоговое окно. - Нажмите на первую кнопку с опцией:
Invalidate and Restart
После попытки выше вариантов все должно работать нормально.
Ответ 8
У меня работало только
Файл → Открыть → и нажмите build.gradle, чтобы открыть проект