I just recovered a project, which was broken by Android Studio (crashed and overwrote all files except for MainActivity). I used parts of my old backup of V1.0 (currently at V3.1) and recovered some code with an app (Show Java). The problem is that all occurences of the constraintLayout are showing as grey boxes. I am using
implementation "androidx.constraintlayout:constraintlayout:1.1.3"
I have googled it already and haven't found a solution, which would work out for me.
Example.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:aapt="http://schemas.android.com/aapt"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:textSize="18sp"
android:gravity="center"
android:id="@+id/reset_game_disclaimer"
android:layout_width="346dp"
android:layout_height="87dp"
android:layout_marginTop="160dp"
android:text="@string/reset_game_are_you_sure"
app:layout_constraintEnd_toEndOf="0"
app:layout_constraintStart_toStartOf="0"
app:layout_constraintTop_toTopOf="0"/>
<Button
android:textSize="16sp"
android:textColor="#ffffff"
android:id="@+id/button_reset_game"
android:background="@drawable/rounded_button"
android:layout_width="200dp"
android:layout_height="49dp"
android:text="@string/reset_game"
android:backgroundTint="#ffb00020"
app:layout_constraintBottom_toBottomOf="0"
app:layout_constraintEnd_toEndOf="0"
app:layout_constraintStart_toStartOf="0"
app:layout_constraintTop_toBottomOf="@+id/reset_game_disclaimer"
app:layout_constraintVertical_bias="0.705"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Stracktrace
java.lang.NoClassDefFoundError: androidx/constraintlayout/widget/R$styleable
at androidx.constraintlayout.widget.ConstraintLayout.init(ConstraintLayout.java:599)
at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:576)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:403)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:186)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:144)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:309)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:418)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:429)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:333)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:323)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:394)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:200)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:572)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$5(RenderTask.java:698)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)