java.lang.NoClassDefFoundError: androidx/core/view/ViewCompat when using FlexboxLayout

Viewed 4020

I'm using FlexboxLayout

Added below dependency in build.gradle of FlexboxLayout

dependencies {
    implementation 'com.google.android:flexbox:1.1.0'
}

myLayout

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.flexbox.FlexboxLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



</com.google.android.flexbox.FlexboxLayout>

I'm getting below error Error ScreenShot

java.lang.NoClassDefFoundError: androidx/core/view/ViewCompat
    at com.google.android.flexbox.FlexboxLayout.onLayout_Original(FlexboxLayout.java:565)
    at com.google.android.flexbox.FlexboxLayout.onLayout(FlexboxLayout.java)
    at android.view.View.layout_Original(View.java:20672)
    at android.view.View_Delegate.layout(View_Delegate.java:91)
    at android.view.View.layout(View.java:20658)
    at android.view.ViewGroup.layout(ViewGroup.java:6194)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
    at android.view.View.layout_Original(View.java:20672)
    at android.view.View_Delegate.layout(View_Delegate.java:91)
    at android.view.View.layout(View.java:20658)
    at android.view.ViewGroup.layout(ViewGroup.java:6194)
    at android.support.v7.widget.ActionBarOverlayLayout.onLayout_Original(ActionBarOverlayLayout.java:444)
    at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java)
    at android.view.View.layout_Original(View.java:20672)
    at android.view.View_Delegate.layout(View_Delegate.java:91)
    at android.view.View.layout(View.java:20658)
    at android.view.ViewGroup.layout(ViewGroup.java:6194)
    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
    at android.view.View.layout_Original(View.java:20672)
    at android.view.View_Delegate.layout(View_Delegate.java:91)
    at android.view.View.layout(View.java:20658)
    at android.view.ViewGroup.layout(ViewGroup.java:6194)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:348)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:386)
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:450)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:590)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

How can i solve this issue

Thanks in advance. Your efforts will be appreciated.

1 Answers

Solution is here

FlexboxLayout 1.1.0, the library is expected to use with AndroidX.

If you want to use 1.1.0 and above than migrate to AndroidX

For AndroidX use this

dependencies {
    implementation 'com.google.android:flexbox:1.1.0'
}

For com.android.support:appcompat

dependencies {
    implementation 'com.google.android:flexbox:1.0.0'
}

For more information please check FlexboxLayout Hope this help others

Related