Недавно я столкнулся с той же проблемой. Прежде чем дать вам решение, я хотел бы сказать вам, что в последние дни благодаря быстро развивающимся инструментам разработки, предлагаемым Google, наша многолетняя методика разработки значительно изменилась.
Возьмите в качестве примера джетпак, который является частью AndroidX , и добавление его в ваши проекты требует некоторых необходимых шагов.Более того, если вы похожи на меня, который использует диалоги студии Android для создания приложения, у вас, скорее всего, будут проблемы такого рода, в том числе и те, о которых вы упоминали.
Причиной этого является то, что android studio по-прежнему использует Appcompat-v7, а androidX, с другой стороны, использует
androidx.appcompat:appcompat:1.0.0
см. Полный список артефактов
Прежде всего, после добавления ответственных зависимостей вам нужно добавить эти две строки в ваш gradle.properties
файл
android.useAndroidX=true
android.enableJetifier=true
К сожалению, если бы вы зашли так далеко, вы все равно, вероятно, столкнулись бы с
Ошибка поля манифеста
это потому, что в ваших файлах автоматизированного макета все еще есть старые пути к классам, такие как
android.support.design.widget.CoordinatorLayout
, которые должны быть такими: androidx.constraintlayout.widget.ConstraintLayout
этот android.support.design.widget.AppBarLayout
должен быть com.google.android.material.appbar.AppBarLayout
и так далее.
После повторной проверки каждый путь к классам перестраивает ваш проект, и все должно быть в порядке.