Ich habe gerade eine Migration zu AndroidX über die Android Studio-Menüoption Refactor -> Refactor zu AndroidX durchgeführt
Ich erhalte die folgende Fehlermeldung:
android.view.InflateException: Zeile 2 der binären XML-Datei: Zeile 2 der binären XML-Datei: Fehler beim Aufblasen der Klasse androidx.constraintlayout.ConstraintLayout
Irgendeine Idee?
Stacktrace:
2018-10-19 00:25:58.128 28131-28131/com.midounoo.midounoo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.midounoo.midounoo, PID: 28131
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.midounoo.midounoo/com.midounoo.midounoo.Base.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2724)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6255)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.ConstraintLayout
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.ConstraintLayout" on path: DexPathList[[zip file "/data/app/com.midounoo.midounoo-2/base.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.midounoo.midounoo-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.midounoo.midounoo-2/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.view.LayoutInflater.createView(LayoutInflater.java:609)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.midounoo.midounoo.Base.MainActivity.onCreate(MainActivity.java:43)
at android.app.Activity.performCreate(Activity.java:6666)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6255)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
Antworten:
Ich löse mein Problem, indem ich alle Vorkommen von ändere
zu
quelle
In
androidx.constraintlayout.widget.ConstraintLayout
den Abhängigkeiten:Es ist verfügbar am
mavenCentral()
.quelle
constraintlayout
beginnt jedoch nicht mit GroßbuchstabenC
. Richtige:'androidx.constraintlayout:constraintlayout:1.1.3'
Ich hatte das gleiche Problem, ich habe es wie folgt gelöst:
In Ihren Abhängigkeiten, wenn Sie hinzugefügt haben
implementation 'androidx.constraintlayout:constraintlayout:1.x.x'
das ist richtigIn Ihrer XML-Layoutdatei müssen Sie jedoch das Widget als verwenden
androidx.constraintlayout.widget.ConstraintLayout
quelle
Wenn Sie nach dem Hinzufügen von mavenCentral () als Repository in Ihrer Gradle-Datei und dem Ändern
androidx.constraintlayout.ConstraintLayout
zuandroidx.constraintlayout.widget.ConstraintLayout
Ihr Problem nicht gelöst haben, versuchen Sie, den Cache ungültig zu machen, und starten Sie über das Dateimenü neu . Es hat bei mir funktioniert.quelle
build.gradle => Abhängigkeitsversion prüfen
wechseln
Problem gelöst
quelle
Stellen Sie sicher, dass Ihr Projekt vollständig auf AndroidX migriert ist. In meinem Fall habe ich Folgendes gefunden:
anstatt
Also ändere es und mein Problem ist behoben!
quelle
Ich habe das gleiche Problem nach:
Ich benutze auch:
Ich habe alle Beiträge aus dieser Frage ausprobiert, aber keinen Erfolg.
Ich behebe es, indem ich eine Zeichenfolge
.disableCustomViewInflation()
zu Calligraphy init hinzufüge :Ich hoffe, dass die nächste Version von Calligraphy (Christopher Jenkins, danke für Ihren großartigen Job) das Problem auch beheben wird.
quelle
Refactor -> Migrate to AndroidX
Stellen Sie nach dem Klicken auf sicher, dass alle Abhängigkeiten in build.gradle (Modul: App) auf die neueste Version markiert sind .Wenn dies nicht der Fall ist, wird die Abhängigkeit in gelb hervorgehobener Farbe angezeigt, und Sie können sie ändern, indem Sie den Mauszeiger darüber halten.
Zweitens ändern Sie das ConstraintLayout-Tag in allen XML-Layoutdateien in
Bereinigen Sie Ihr Projekt für eine sicherere Option und synchronisieren Sie es nach den obigen Schritten erneut.
quelle
Stellen Sie sicher, dass Sie die Abhängigkeit für das Einschränkungslayout hinzugefügt haben
und haben die Änderungen an vorgenommen
quelle
Ich habe ein vorhandenes ConstraintLayout-Tag aus der XML-Datei kopiert und eingefügt, was das Problem für mich verursacht hat. Durch einfaches Löschen und erneutes Hinzufügen der ConstraintLayout-Tags in AndroidStudio von Grund auf wurde das Problem für mich behoben.
quelle
Stellen Sie sicher, dass Sie zu wechseln
anstatt
und
anstatt
quelle
Ich hatte dieses Problem mit Android Studio 4.0. Ich habe Android Studio 4.0 für ein paar Tage ohne Probleme verwendet. Scheinbar aus dem Nichts funktionierte die Designeransicht nicht mehr. Ich konnte dies nur beheben, indem ich Android Studio deinstallierte und die neueste Android Studio-Version installierte.
quelle
yepp. mavenCentral () und korrekte Abhängigkeiten lösen meine gleichen Probleme
quelle
Ich hatte einen ähnlichen Fehler.
Nach den Empfehlungen:
Und das Repository mavenCentral ().
Funktioniert bei mir. Ich könnte die APK kompilieren.
quelle
Ich habe die Abhängigkeit aktualisiert, den Fehler jedoch nicht behoben. Dann habe ich ein sauberes Projekt gemacht und gebaut und es funktioniert jetzt.
quelle
Ich meine, Mapping finden und im gesamten Projekt verwenden.
quelle