Android Studio использует неверную версию SDK для разных классов - PullRequest
0 голосов
/ 19 апреля 2020

Я столкнулся с проблемой, когда Android Studio начала помечать код красным цветом: enter image description here

Когда я нажимаю, чтобы просмотреть источник findViewById (), он приводит меня к источникам Android SDK 16, который отличается от версии SDK для моего проекта (29). В то же время в некоторых других классах в том же проекте такой проблемы нет, и findViewById работает хорошо. Нажатие на него приводит меня к Android SDK 29 источникам, что правильно. enter image description here

Мой проект имеет версию SDK компиляции, установленную на 29, его зависимости используют SDK компиляции от 16 до 25.

Я уже пробовал:

  1. Очистить проект.
  2. Перестроить проект.
  3. Отменить кеширование / перезапустить
  4. Переустановить Android Studio и установить бета-версию.
  5. Пытался используйте другие GIT коммиты, где такой проблемы не было.
  6. Удаленные папки / .idea и /.gradle.
  7. Когда я удаляю источники Android SDK из ~ / Library / Android / sdk / platform / android -16 помогает до следующего перестроения (затем Studio автоматически загружает его снова)

В чем проблема: чтобы исправить историю GIT, я удалил все файлы из рабочего каталога и скопировал туда новую версию. Я знаю, что это не элегантное решение, но в разнице git проблем не было. Дело в том, что эта проблема «красного кода» теперь существует во всех предыдущих коммитах.

Проект компилируется без ошибок и приложение может быть установлено!

Пожалуйста, помогите!

Обновление: эта проблема возникает только во фрагментах! Каким-то образом getView () во Fragment дает мне другую версию представления?

enter image description here

1 Ответ

0 голосов
/ 20 апреля 2020

Решение найдено: обновите реализацию 'com.google. android .material: материал: 1.1.0' до версии 1.1.0. Не сейчас, почему эта зависимость стала создавать проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...