57

After migrating to Androidx packages using Android Studio menu option Refactor -> Refactor to Androidx...

I'm getting the following error:

Error inflating class androidx.constraintlayout.widget.ConstraintLayout

16 Answers 16

119

Make sure constraint layout is updated to latest version (you need to have this line in your build.gradle or build.gradle.kts file):

implementation "androidx.constraintlayout:constraintlayout:2.2.1"

or use

implementation(libs.constraintlayout)

instead in the same file if you have

constraintlayout = "2.2.1"

in libs.versions.toml file.

And replace your xml tag names

<androidx.constraintlayout.ConstraintLayout>

with

<androidx.constraintlayout.widget.ConstraintLayout>

in every place where it appears using this shortcut:

Windows and Linux: CTRL + SHIFT + R

Mac: COMMAND + SHIFT + R

Sign up to request clarification or add additional context in comments.

4 Comments

The same error may also occur with android.constraintlayout.Guideline, so keep an eye out for that as well.
It is required to use androidx.coordinatorlayout.widget.CoordinatorLayout for BottomAppBar. Any solution for it.
I had the same problem with androidx.constraintlayout.motion.MotionLayout. Renaming it to androidx.constraintlayout.motion.widget.MotionLayout compiled and worked for me.
In my case: constraintlayout:1.1.2 -> constraintlayout:1.1.3.
35

In AndroidStudio 3.3 RC2 I got it resolved by upgrading -

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

to

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

in build.gradle (Module: app)

Note: This solution is also valid for the release version 3.3 (as per below comment by FireZenk), 3.5.2 (as per below comment by user2350644)

2 Comments

Valid also for the 3.3 release version
I've encountered this exception after upgrading to the latest Android Studio Version 3.5.2 and gradlePluginVersion 3.5.2. Your solution works perfectly, thanks.
25

Just replace

<androidx.constraintlayout.ConstraintLayout>

with

<androidx.constraintlayout.widget.ConstraintLayout>

In your project's xml files.

You can use Replace in Path shortcut in mac (⇧⌘F or ⇧⌘R) and windows (Ctrl+Shift+R)

enter image description here

Comments

10

Well in my case I've tried Solution 1 which still was not working. Then I used Solution 2 along with Solution 1.


Solution 1

Updating the current version ConstraintLayout in app level build.gradle file.

From

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

Into

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

Solution 2

Invalidate Caches and Restart Android Studio (If still not working after applying Solution 1).

FileInvalidate Caches / RestartInvalidate and Restart

I used both of them and It works fine for me.

Note: Solution 1 is important.

Comments

4

I've also face this issue. This issue occur only for constraintlayout dependecy version. Use 1.1.3 version & hope your issue will be solved:

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

Comments

3

There are two ways to add ConstraintLayout:

implementation 'com.android.support.constraint:constraint-layout:2.0.0-alpha3'

then you need to use it like this:

<android.support.constraint.ConstraintLayout
        ...>

</android.support.constraint.ConstraintLayout>

or using androidx:

implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'

then you need to use

<androidx.constraintlayout.widget.ConstraintLayout
        ...
        >

</androidx.constraintlayout.widget.ConstraintLayout>

Do not mix those two.

2 Comments

Updating the constrainlayout library from 1.1.3 to 2.0.0-beta2 fixed the issue for me.
Wonderful! This was the perfect answer and sorted me out !!! I used the right syntax like you said !!!
2

Since the Android Studio is updated to 3.3 it will pop this error. I resolved it by upgrading the version for constraint layout in the build.gradle of the app level:

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

TO

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

Comments

1

I use an Android Studio 4.1 and this library for constraint layout:

implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

which is updated on 09-Nov-20 and had the same error with inflating a Constraint Layout.

In my case on my Samsung a40 app worked but on my ZTE nubia n1 app crashed instantly. I figured that a problem was in my layout background image because my png image was too big for an old device with a different screen resolution than the Samsung a40. I imported a background png image through the file explorer (drawable - right-click- Show in Explorer) and there was actually the problem.

I tried to import images with Android Drawable Importer but I notice this plugin does not work anymore on Android Studio.

SOLUTION RELATED TO ANDROID DRAWABLE IMPORTER:

If you have already installed the Android Drawable Importer on your Android Studio please uninstall it before you start the process of repairing. To repair the Android Drawable Importer you need ADI-hack-plugin which you can get by following this youtube video from Thomas Samoul.

After you repair the Android Drawable Importer just import your image with it and everything will work fine.

3 Comments

The same for SVG image. I changed android:background="@drawable/bg_image" of ConstraintLayout to SVG image and got this exception.
Yeah, the biggest problem is that on some devices everything works fine and on some an app crashes. I did not try on emulator but i suppose there would not be any crashes.
Agree with you. But I got this exception on emulator with SVG.
1

I ran into the same problem none of the solutions above worked. The problem, in fact , was caused by a null pointer exception thrown after I switch to NoActionBar theme while the app was using the ActionBar to setTitle(). The linked stack overflow answer helped me figure it out

Comments

0

Android Studio is updated version 3.3. Please remove the previous version constraintLayout

my case used this

implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'

Thank you

Comments

0

In my case i just had to update the androidx dependencies to the latest version.

EDIT In build.gradle (app) you have to look for the dependencies which contains androidx. Android studio will show you information about the latest versions of these dependencies. Using that information just the change the dependency version.

1 Comment

please explain how to do
0

In AndroidStudio 3.4 I had to downgrade to

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

to get it working again.

Comments

0

Strangely, it worked for when I upgraded androidx.appcompat:...' library to

'androidx.appcompat:appcompat:1.1.0-alpha05' with constraint layout version 'androidx.constraintlayout:constraintlayout:1.1.3' on Android Studio 3.3

Comments

0

For those who have tried all of the above to no vain, downgrading constraintLayout worked for me (after I wrecked my head for 3 days trying everything under the sun).

implementation 'androidx.constraintlayout:constraintlayout:2.1.0'

to

implementation 'androidx.constraintlayout:constraintlayout:2.0.0'

Comments

0

check if inside your theme file has the right name label

Comments

0

In my case, I was testing on Virtual Device API 29. The same error comes out. So updated the constraintlayout version, and change the layout tagname to include widget, but still the app crash with the error.

Then I notice it highlighted Line #8 of my MainActivity. Line #8 is app:tools=".MainActivity" and that can't be it. But just before Line #8, there is

android:background="@color/material_dynamic_neutral50"

(I am guessing this is from the Material Library)

And this is not in my colors.xml. So I add a line in the colors.xml

<color name="kelabu">#747679</color>

Then change that line to:

android:background="@color/kelabu"

Then the error cease to happen and I can run in the Virtual device with no issues.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.