Je sais, androidx et la dépendance de support provoquant une erreur multidex Nous ne pouvons pas utiliser le support androidx et android en même temps. J'ai donc totalement migré vers androidx. mais une de mes dépendances lib utilisait le support android "lottie".
Que pouvons-nous faire dans la situation ci-dessus? Dois-je supprimer «lottie» de mon projet.
ci-dessous est mon gradle
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
ext{
lottieVersion = "2.5.4"
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
def androidx = "1.0.0-rc01"
api "androidx.constraintlayout:constraintlayout:1.1.2"
api "androidx.appcompat:appcompat:$androidx"
api "androidx.recyclerview:recyclerview:$androidx"
api "androidx.cardview:cardview:$androidx"
api "androidx.core:core-ktx:$androidx"
api "com.google.android.material:material:1.0.0-rc01"
implementation "com.google.code.gson:gson:2.8.5"
implementation "androidx.multidex:multidex:2.0.0"
implementation "com.airbnb.android:lottie:$lottieVersion"
}
la source
Ajouter manuellement
android.useAndroidX=true
etandroid.enableJetifier=true
me donner du temps. Parce que ça jette une erreur ouSuggestion: add 'tools:replace="android:appComponentFactory"' to <application>
Pour activer Jet-fire dans le projet, il existe une option dans Android Studio
Sélectionnez votre projet ---> Clic droit
app ----> Refactor ----> Migrer vers AndroidX
Montré dans l'image ci-dessous: -
Après avoir cliqué sur Migrer vers AndroidX .
Il vous demandera une confirmation et une sauvegarde de votre projet.
Et dernière étape, il vous demandera de refactoriser.
Après avoir fait Refactor, vérifiez que vos gradle.properties ont
android.useAndroidX=true
etandroid.enableJetifier=true
. Si ce n'est pas le cas, ajoutez ces deux lignes à votre fichier gradle.properties:la source
Tu n'as pas besoin de t'inquiéter
Activez simplement Jetifier dans votre projet.
Ouvrez
gradle.properties
et ajoutez en dessous de deux lignes.Il convertira toutes les bibliothèques de support de votre dépendance en AndroidX au moment de l'exécution (vous pouvez avoir des erreurs de compilation, mais l'application fonctionnera).
la source
android.enableJetifier=true
si cela se produisait, je pense que l'utilisation manuellejetifier-standalone
de l'aar tiers pourrait fonctionner.Ajoutez les lignes dans le fichier gradle.properties
Reportez-vous également à https://developer.android.com/jetpack/androidx
la source
API 29. + utilisation des bibliothèques AndroidX. Si vous utilisez l'API 29. +, vous ne pouvez pas les supprimer. Si vous souhaitez supprimer AndroidX, vous devez supprimer l'intégralité de l'API 29. + de votre SDK:
Cela fonctionnera très bien.
la source
J'ai utilisé ces deux lignes de code dans la balise d'application dans manifest.xml et cela a fonctionné.
Source: https://github.com/android/android-ktx/issues/576#issuecomment-437145192
la source
Si votre projet n'est pas AndroidX (signifie Appcompat) et a obtenu cette erreur, essayez de rétrograder les versions des dépendances qui déclenchent cette erreur, dans mon cas, play-services-location ("implementation" com.google.android.gms: play-services-location : 17.0.0 '"), j'ai résolu le problème en rétrogradant à com.google.android.gms: play-services-location: 16.0.0'
la source
J'ai eu un problème comme celui-ci avant, c'était le fichier gradle.properties qui n'existe pas, seulement le gradle.properties.txt, alors je suis allé dans mon dossier de projet et j'ai copié et collé le fichier gradle.properties.txt mais sans. txt puis cela a finalement fonctionné.
la source
J'ai ajouté ci-dessous deux lignes dans le fichier gradle.properties
alors j'ai eu l'erreur suivante
J'ai supprimé les importations et ajouté ci-dessous la ligne
Et les classes qui sont étendues à partir d'AppCompactActivity, ont ajouté la ligne ci-dessous. (Pour ces erreurs, il vous suffit d'appuyer sur Alt + Entrée dans Android Studio qui importera la bonne bibliothèque pour vous. Comme cela, vous pouvez résoudre toutes les erreurs)
Dans votre fichier xml si vous en avez utilisé
le remplacer par
androidx.appcompat.widget.Toolbar
puis dans votre code java
la source
Commentez cette ligne dans
gradle.properties
la source