AndroidX.Аннотация — отсутствует класс, требуется api

#flutter #androidx

#flutter #androidx

Вопрос:

В моих приложениях Flutter я часто использовал плагин подключения для проверки текущего состояния хост-устройства в режиме онлайн. До недавнего времени это всегда работало просто отлично. Однако с последним обновлением Flutter версии 1.22.2 я обнаружил, что попытка flutter run выдает ошибку

pathto:flutter.pub-cachehostedpub.dartlang.orgconnectivity-0.4.9 5androidsrcmainjavaioflutterpluginsconnectivityConnectivityBroadcastReceiver.java:16 : ошибка: не удается найти импорт символов androidx.annotation.Требуется api

и затем

                        ^
  

Требуется api

Я не понимаю, почему это происходит. В документах разработчика AndroidX, безусловно, говорится об этом классе. Я должен упомянуть, что у меня specity minSdkVesion 23 с targetSdkVersion as 28. Flutter doctor сообщает об отсутствии ошибок, Android SDK версии 30.0.2 и Android studio 4.

Почему это происходит и как я могу это исправить?

Комментарии:

1. Вы нашли решение? У меня такая же проблема.

2. Когда я создал новый проект с последней версией Flutter, 1.22.2, а затем перенес его на весь мой старый код, все заработало. При дальнейшем рассмотрении я обнаружил две вещи — compileSdkVersion в androidappbuild.gradle должен быть обновлен до 29. Что еще более важно — я обнаружил, что у меня возникла эта проблема, потому что я упускал ic_launcher свои ресурсы. По какой-то причине компиляция продолжалась, несмотря на этот отсутствующий ресурс, а затем вызвала этот непоследовательный результат.

3. У меня была такая же ошибка, как и во Flutter. Но после устранения неполадок я увидел, что на моих предыдущих шагах, когда я пытался переименовать свой пакет (com.example не разрешен для версии Android), я пропустил точку с запятой в своем приложении. пакеты java. Как только я это исправил, эта ошибка также была устранена странным образом. Предполагаю, что это цепная реакция других проблем….

Ответ №1:

в android/gradle.properties добавьте ниже две строки. в моем случае решите проблему, используя это.

android.useAndroidX=true android.enableJetifier=true