Je viens de faire une migration vers androidx via l'option de menu Android Studio Refactor -> Refactor vers AndroidX
J'obtiens l'erreur suivante:
android.view.InflateException: ligne de fichier XML binaire n ° 2: ligne de fichier XML binaire n ° 2: erreur de gonflage de la classe androidx.constraintlayout.ConstraintLayout
Une idée?
Trace de la pile:
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)
Réponses:
Je résous mon problème en modifiant toutes les occurrences de
à
la source
Ajoutez
androidx.constraintlayout.widget.ConstraintLayout
aux dépendances:dependencies { // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout implementation "androidx.constraintlayout:constraintlayout:1.1.3" }
Il est disponible sur
mavenCentral()
.la source
constraintlayout
ne commenceC
cependant pas par des majuscules . Bonne'androidx.constraintlayout:constraintlayout:1.1.3'
J'ai eu le même problème, je l'ai résolu comme suit:
Dans vos dépendances si vous avez ajouté
implementation 'androidx.constraintlayout:constraintlayout:1.x.x'
c'est correctmais dans votre fichier de mise en page xml, vous devez utiliser le widget comme
androidx.constraintlayout.widget.ConstraintLayout
la source
Si après avoir ajouté mavenCentral () en tant que référentiel dans votre fichier Gradle et changé
androidx.constraintlayout.ConstraintLayout
pourandroidx.constraintlayout.widget.ConstraintLayout
ne pas résoudre votre problème, essayez de faire Invalidate cache et redémarrez à partir du menu fichier. Cela a fonctionné pour moi.la source
build.gradle => vérifier la version des dépendances
implementation 'androidx.constraintlayout:constraintlayout:1.1.1'
changer
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
résolu le problème
la source
assurez-vous que votre projet migre complètement vers androidx, dans mon cas, j'ai trouvé:
<android.support.constraint.ConstraintLayout
au lieu de
<androidx.constraintlayout.widget.ConstraintLayout
Alors changez-le et mon problème est résolu!
la source
J'ai le même problème après:
J'utilise aussi:
implementation "uk.co.chrisjenx:calligraphy:2.3.0"
J'ai essayé tous les messages de cette question, mais aucun succès.
Je le corrige en ajoutant une chaîne
.disableCustomViewInflation()
à Calligraphy init:@Override public void onCreate() { super.onCreate(); // ... CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/Sans-Regular.ttf") .setFontAttrId(R.attr.fontPath) .disableCustomViewInflation() // <----- this fix .build()); // ... }
J'espère que la prochaine version de Calligraphy (Christopher Jenkins merci pour votre excellent travail) le corrigera également à l'intérieur.
la source
Après avoir cliqué sur
Refactor -> Migrate to AndroidX
, assurez-vous que toutes vos dépendances dans le build.gradle (Module: app) sont marquées à la version la plus récente.Si ce n'est pas le cas, la dépendance apparaîtra en surbrillance jaune et vous pouvez la modifier en passant la souris dessus.
Deuxièmement, modifiez la balise ConstraintLayout dans tous les fichiers de mise en page XML en
Pour une option plus sûre, nettoyez votre projet et synchronisez-le à nouveau après les étapes ci-dessus.
la source
Assurez-vous d'avoir ajouté la dépendance pour la disposition des contraintes
dependencies { implementation "androidx.constraintlayout:constraintlayout:1.1.3" }
et ont apporté les modifications à
<androidx.constraintlayout.widget.ConstraintLayout instead of <android.support.constraint.ConstraintLayout
la source
J'ai copié et collé une balise ConstraintLayout existante à partir du XML, ce qui me causait le problème. Le simple fait de supprimer et de rajouter les balises ConstraintLayout dans AndroidStudio à partir de zéro a résolu le problème pour moi.
la source
Assurez-vous de changer pour
<androidx.constraintlayout.widget.ConstraintLayout
au lieu de
<android.support.constraint.ConstraintLayout
et
<androidx.constraintlayout.widget.Barrier
au lieu de
<android.support.constraint.Barrier
la source
J'ai eu ce problème avec Android Studio 4.0. J'ai utilisé Android Studio 4.0 pendant quelques jours sans problème. Apparemment sorti de nulle part, la vue du concepteur a cessé de fonctionner. Je ne pouvais résoudre ce problème qu'en désinstallant Android Studio et en installant la dernière version d'Android Studio.
la source
yepp. mavenCentral () et les dépendances correctes résolvent mes mêmes problèmes
la source
J'ai eu une erreur similaire.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.MainActivity}: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2757) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6393) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:430) at android.view.LayoutInflater.createView(LayoutInflater.java:652) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:812) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:752) at android.view.LayoutInflater.inflate(LayoutInflater.java:499) at android.view.LayoutInflater.inflate(LayoutInflater.java:430) 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.myapp.MainActivity.onCreate(MainActivity.java:23) at android.app.Activity.performCreate(Activity.java:6858) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2710) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2818) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6393) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/constraintlayout/widget/R$styleable; at androidx.constraintlayout.widget.ConstraintLayout.init(ConstraintLayout.java:590) at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:567) ... 23 more Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.constraintlayout.widget.R$styleable" on path: DexPathList[[zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-1/lib/arm64, /system/lib64, /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) ... 25
Suite aux recommandations:
add androidx.constraintlayout.ConstraintLayout to the dependencies: dependencies { implementation "androidx.constraintlayout:constraintlayout:1.1.3" }
Et le référentiel mavenCentral ().
Travaille pour moi. Je pourrais compiler l'APK.
la source
J'ai mis à jour la dépendance, mais cela n'a pas résolu l'erreur. Ensuite, j'ai fait un projet propre et construit et cela fonctionne maintenant.
la source
Je veux dire trouver la cartographie et l'utiliser dans tout le projet.
la source
changez votre dépendance de mise en page de contrainte en implémentation 'androidx.constraintlayout: constraintlayout: 2.0.2'
la source