J'ai cherché une réponse à mon problème, comme indiqué dans le titre de cette question, et j'ai trouvé Erreur lors du gonflement de la classe androidx.constraintlayout.ConstraintLayout après la migration vers androidx , qui s'aligne sur les instructions de migration officielles présentées dans Migration vers AndroidX . J'ai pris l'information comme m'obligeant à changer Android.support.constraint.ConstraintLayout
à androidx.constraintlayout.widget.ConstraintLayout
, mais cela ne fonctionne pas pour moi.
Je n'ai rien trouvé sur la dépendance à mettre dans mon fichier Gradle, alors j'ai essayé ceci (c'est une photo dans le noir):
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
ce qui est accepté mais quand j'ai essayé:
implementation 'androidx.constraintlayout.widget:constraintlayout:1.1.3'
Je reçois ERREUR: échec de la résolution: androidx.constraintlayout.widget: constraintlayout: 1.1.3, j'ai donc utilisé la précédente directive de mise en œuvre.
Voici mon fichier 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:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="com.example.jbiss.petminder.activities.MainActivity">
<!--<Android.support.v7.widget.Toolbar-->
<androidx.appcompat.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/my_toolbar"
Android:layout_width="match_parent"
Android:layout_height="60dp"
Android:background="@color/colorPrimaryDark"
Android:elevation="4dp"
app:layout_constraintTop_toTopOf="parent"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
<TextView
Android:id="@+id/tvMsg"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="8dp"
Android:accessibilityLiveRegion="assertive"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/my_toolbar"
tools:text="error message goes here"/>
<TextView
Android:id="@+id/tvEmVet"
Android:layout_width="wrap_content"
Android:layout_height="44dp"
Android:layout_marginBottom="8dp"
Android:layout_marginStart="20dp"
Android:layout_marginTop="8dp"
Android:text="@string/emergency_vet"
Android:textColor="@Android:color/holo_red_dark"
Android:textSize="24sp"
app:layout_constraintStart_toEndOf="@+id/phoneCallEmVet"
app:layout_constraintTop_toBottomOf="@+id/recyclerview1"
tools:textSize="24sp"/>
<ImageView
Android:id="@+id/phoneCallEmVet"
Android:layout_width="37dp"
Android:layout_height="44dp"
Android:layout_marginBottom="8dp"
Android:layout_marginLeft="24dp"
Android:layout_marginTop="8dp"
Android:onClick="callEmVet"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/recyclerview1"
app:srcCompat="@Android:drawable/sym_action_call"/>
<androidx.recyclerview.widget.RecyclerView
Android:id="@+id/recyclerview1"
Android:layout_width="368dp"
Android:layout_height="365dp"
Android:layout_marginStart="8dp"
Android:layout_marginTop="8dp"
Android:text="@string/pet_name"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/my_toolbar"/>
</androidx.constraintlayout.widget.ConstraintLayout>
L'exécution de mon application génère l'erreur suivante:
2019-02-18 19:43:36.031 458-458/com.example.jbiss.petminder E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.jbiss.petminder, PID: 458
Android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class Android.support.constraint.ConstraintLayout
Caused by: Android.view.InflateException: Binary XML file line #2: Error inflating class Android.support.constraint.ConstraintLayout
Caused by: Java.lang.ClassNotFoundException: Didn't find class "Android.support.constraint.ConstraintLayout" on path: DexPathList[[Zip file "/data/app/com.example.jbiss.petminder-i-ubC_oLu_y7-aFpiqALqg==/base.apk", Zip file "/data/app/com.example.jbiss
Suivre les informations ne fonctionne pas, pour une raison quelconque. La migration a été difficile, mais j'ai résolu de nombreux problèmes et je ne parviens plus à trouver de raison pour laquelle cela se produit lorsqu'il semble que j'ai fait ce qui était prévu.
J'étais confronté au même problème après la migration vers androidX. J'ai essayé la solution ci-dessus. Mais ça n'a pas marché. J'ai ajouté mavenCentral () dans le gradle de l'application au niveau du projet.
repositories {
jcenter()
maven { url 'https://maven.google.com' }
mavenCentral()
}
avec les changements suivants
dependencies {
implementation 'com.google.Android.material:material:1.0.0'
implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}
mise à jour "Android.support.constraint.ConstraintLayout" balise xml avec "androidx.constraintlayout.widget.ConstraintLayout"
finalement ça a marché.