Просто замените
<androidx.constraintlayout.ConstraintLayout>
с участием
<androidx.constraintlayout.widget.ConstraintLayout>
В файлах xml вашего проекта.
Вы можете использовать ярлык Заменить в пути в Mac (⇧⌘F или ⇧⌘R) и Windows (Ctrl + Shift + R)
Убедитесь, что макет ограничения обновлен до последней версии:
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
И замените имена тегов xml
<androidx.constraintlayout.ConstraintLayout>
с участием
<androidx.constraintlayout.widget.ConstraintLayout>
везде, где он появляется, используя этот ярлык:
Windows: CTRL + SHIFT + R
Mac: COMMAND + SHIFT + R
Для BottomAppBar необходимо использовать androidx.coordinatorlayout.widget.CoordinatorLayout. Любое решение для этого.
У меня была такая же проблема с androidx.constraintlayout.motion.MotionLayout. Переименование его в androidx.constraintlayout.motion.widget.MotionLayout скомпилировано и сработало для меня.
В моем случае: constraintlayout: 1.1.2 -> constraintlayout: 1.1.3.
В AndroidStudio 3.3 RC2 я решил это путем обновления -
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
к
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
в build.gradle (Модуль: приложение)
Примечание: Это решение также действительно для версии выпуска 3.3 (согласно нижеприведенному комментарию FireZenk), 3.5.2 (согласно нижеприведенному комментарию пользователя2350644)
Также действует для версии 3.3.
Я столкнулся с этим исключением после обновления до последней версии Android Studio 3.5.2 и gradlePluginVersion 3.5.2. Ваше решение отлично работает, спасибо.
Поскольку Android Studio обновлена до версии 3.3, она выдает эту ошибку. Я решил это, обновив версию для макета ограничений в build.gradle уровня приложения:
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
К
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Android Studio обновлена до версии 3.3. Удалите ограничение предыдущей версии.
мой случай использовал это
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
Спасибо
В моем случае мне просто нужно было обновить зависимости androidx до последней версии.
РЕДАКТИРОВАТЬ В build.gradle (app) вам нужно искать зависимости, которые содержат androidx. Студия Android покажет вам информацию о последних версиях этих зависимостей. Используя эту информацию, просто измените версию зависимости.
объясните пожалуйста, как это сделать
Что ж, в моем случае я пробовал Решение 1, который все еще не работал. Затем я использовал Решение 2 вместе с Решение 1.
Обновление текущей версии ConstraintLayout в файле build.gradle уровня приложения.
Из
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
В
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Сделайте недействительными кеши и перезапустите Android Studio (если все еще не работает после применения Решение 1).
File → Invalidate Caches / Restart → Invalidate and Restart
Я использовал их оба, и он отлично работает для меня.
Note:Solution 1 is important.
Я тоже столкнулся с этой проблемой. Эта проблема возникает только для версия зависимости constraintlayout.
Используйте версию 1.1.3 и надейтесь, что проблема будет решена:
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Есть два способа добавить ConstraintLayout:
implementation 'com.android.support.constraint:constraint-layout:2.0.0-alpha3'
тогда вам нужно использовать это так:
<android.support.constraint.ConstraintLayout
...>
</android.support.constraint.ConstraintLayout>
или используя androidx:
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
тогда вам нужно использовать
<androidx.constraintlayout.widget.ConstraintLayout
...
>
</androidx.constraintlayout.widget.ConstraintLayout>
Не смешивайте эти два.
Обновление библиотеки constrainlayout с 1.1.3 до 2.0.0-beta2 устранило проблему для меня.
Замечательный! Это был идеальный ответ, и он меня разобрал !!! Я использовал правильный синтаксис, как вы сказали !!!
В Android Studio 3.4 мне пришлось перейти на
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
чтобы он снова заработал.
Как ни странно, это сработало, когда я обновил библиотеку androidx.appcompat:...' до
'androidx.appcompat:appcompat:1.1.0-alpha05' с версией компоновки ограничений
'androidx.constraintlayout:constraintlayout:1.1.3' на Android Studio 3.3
Я использую Android Studio 4.1 и эту библиотеку для макета ограничений:
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
который обновлен 09-ноя-20 и имел ту же ошибку с раздутием макета ограничения.
В моем случае на моем Samsung a40 приложение работало, но на моем ZTE nubia n1 приложение вылетало мгновенно. Я подумал, что проблема была в фоновом изображении моего макета, потому что мое png-изображение было слишком большим для старого устройства с другим разрешением экрана, чем у Samsung a40. Я импортировал фоновое изображение в формате png через проводник (рисование - щелкните правой кнопкой мыши - Показать в проводнике), и на самом деле проблема была.
Я пытался импортировать изображения с помощью Android Drawable Importer, но заметил, что этот плагин больше не работает в Android Studio.
РЕШЕНИЕ, СВЯЗАННОЕ С ИМПОРТЕРОМ ВЫДАВАЕМЫХ ПО Android:
Если вы уже установили Android Drawable Importer в Android Studio, удалите его, прежде чем начинать процесс восстановления. Чтобы восстановить Android Drawable Importer, вам понадобится ADI-hack-plugin, который вы можете получить, просмотрев это видео на YouTube от Томас Самул.
После восстановления Android Drawable Importer просто импортируйте с ним свое изображение, и все будет работать нормально.
То же самое и с изображением SVG. Я заменил android:background = "@drawable/bg_image" из ConstraintLayout на изображение SVG и получил это исключение.
Да, самая большая проблема в том, что на некоторых устройствах все работает нормально, а на некоторых приложение вылетает. На эмуляторе не пробовал, но сбоев, думаю, не будет.
Согласен с тобой. Но у меня есть это исключение на эмуляторе с SVG.
Я столкнулся с той же проблемой, ни одно из вышеперечисленных решений не помогло. На самом деле проблема была вызвана исключением с нулевым указателем, возникшим после того, как я переключился на тему NoActionBar, когда приложение использовало ActionBar для setTitle (). Связанный ответ на переполнение стека помог мне понять это
Та же ошибка может возникнуть и с android.constraintlayout.Guideline, так что следите за этим.