Не удается разрешить символ "NonNull" после обновления Android Studio

Недавно я обновил Android Studio. Впоследствии он, похоже, больше не может разрешить некоторые аннотации поддержки, такие как @NonNull или @Nullable. Он очень хорошо работал перед обновлением. Тем не менее, все еще компилируется, и я могу выполнить код, но все же он показывает, что символ не может быть разрешен для сообщения в моем импорте.

То, что я уже пробовал:

  1. Включена зависимость в build.gradle(Module: Application):

    compile 'com.android.support:support-annotations:27.0.0'
    
  2. Я сделал недействительными кеши и перезапустил
  3. Очистка и восстановление проекта
  4. (Изменить)

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

Ответы

Ответ 1

  Начиная с версии Android 29 ('targetSdkVersion' 29) com.android.support был перемещен в библиотеку 'androidx'.

В вашем файле build.gradle (уровень приложения) блок зависимостей использует...

dependencies{ 
    ...
    implementation 'androidx.annotation:annotation:1.1.0' 
}

А в ваших .java файлах используйте импорт следующим образом:

import androidx.annotation.NonNull;

Снова построй свой проект!

Ответ 2

Зайдите в Build → Rebuild Project. AS обновит зависимости Gradle и ваш проект.

Ответ 3

Со мной случилось то же самое. И я застрял на некоторое время - какой дерьмовый трюк с кем-то сыграть, чтобы поддерживать Android Studio в актуальном состоянии. И простая перестройка проекта НЕ была даже близка к работе.

По-видимому, в gradle были внесены некоторые изменения, которые не позволяют правильно компилировать старые программы.

Мне пришлось создать новый проект и скопировать все мои файлы в новый проект. Да, это кусает большие волосатые зеленые, но это было то, что я должен был сделать, чтобы заставить его работать.

Я надеюсь, что кто-то придумает лучший ответ, чем этот! (И я бы хотел несколько минут "поговорить" с идиотом, который сделал это изменение! Это не первый раз, когда это происходит - ни 2, ни 3, ни 4 и т.д. И т.д.)

Ответ 4

У меня та же проблема, даже после добавления реализации com.android.support:support-annotations:27.0.0 "Пожалуйста, помогите.