build.gradle (Module: app)
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 'Android-P'
buildToolsVersion '27.0.3'
defaultConfig {
multiDexEnabled true
applicationId "tk.megh.myapplication"
minSdkVersion 'P'
targetSdkVersion 'P'
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
preDexLibraries = false
}
}
dependencies {
implementation 'com.Android.support:multidex:1.0.1'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
androidTestImplementation('com.Android.support.test.espresso:espresso-core:3.0.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
implementation 'com.Android.support:appcompat-v7:+'
testImplementation 'junit:junit:4.12'
}
Eh bien, je pense que je sais ce qui cause l'erreur, si vous regardez les dépendances, il y a deux paquets redondants avec des noms différents
com.Android.support.constraint: constraint-layout: 1.1.0 androidx.constraintlayout: constraintlayout: 1.1.0
Mais je ne peux supprimer aucun d'entre eux car ils sont utilisés par certains paquets. Je suis un novice dans le développement Android, donc je n'ai pas la moindre idée de solutions de rechange.
si je retire
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
je reçois cette erreur lors du débogage:
Java.lang.RuntimeException: Unable to start activity
ComponentInfo{tk.megh.myapplication/tk.megh.myapplication.MainActivity}:
Android.view.InflateException: Binary XML file line #2: Binary XML file
line #2: Error inflating class Android.support.constraint.ConstraintLayout
et si je retire
implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
j'obtiens l'erreur suivante pendant le débogage:
Java.lang.RuntimeException: Unable to start activity
ComponentInfo{tk.megh.myapplication/tk.megh.myapplication.DisplayMessageActivity}:
Android.view.InflateException: Binary XML file line #2: Binary XML file line #2:
Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Détails supplémentaires:
importations de MainActivity.Java:
import Android.content.Intent;
import Android.os.Bundle;
import Android.support.v7.app.AppCompatActivity;
import Android.view.View;
import Android.widget.EditText;
importations de DisplayMessageActivity.Java:
import Android.content.Intent;
import Android.os.Bundle;
import Android.support.v7.app.AppCompatActivity;
import Android.widget.TextView;
Merci d'avance.
Les erreurs indiquent que vous utilisez la variable ConstraintLayout
dans vos fichiers de présentation xml
.
Ne conservez qu'une version de la bibliothèque et assurez-vous que vous utilisez ConstraintLayout de cette version dans vos xml.
Donc, si vous gardez androidx
, vérifiez vos fichiers de disposition et assurez-vous que vous utilisez androidx.constraintlayout.ConstraintLayout
ici, et notAndroid.support.constraint.ConstraintLayout
.
Veillez à ne pas faire référence à com.Android.support.constraint:constraint-layout
et androidx.constraintlayout:constraintlayout
en même temps. Choisissez l'un (préférablement Android), supprimez l'autre et assurez-vous que les noms de paquetages sont également cohérents dans vos fichiers de présentation. Cela a résolu le problème pour moi.
J'avais aussi le même problème… .. J'utilisais deux versions différentes pour la bibliothèque Android.Arch.core.Alors, la réparation de ces versions m'a aidé.Essayez d'utiliser une version dans votre application.Espoir que cela aide quelqu'un.
Merci