Vérifiez vos dépendances pour les utilisations de +
dans les versions. Certaines dépendances pourraient être utilisées com.android.support:appcompat-v7:+
. Cela conduit à des problèmes lorsqu'une nouvelle version est publiée et peut interrompre des fonctionnalités.
La solution pour cela serait d'utiliser com.android.support:appcompat-v7:{compileSdkVersion}.+
ou de ne pas utiliser +
du tout et d'utiliser la version complète (ex. com.android.support:appcompat-v7:26.1.0
).
Si vous ne pouvez pas voir de ligne dans vos fichiers build.gradle pour cela, exécutez dans le terminal Android Studio pour donner un aperçu de ce que chaque dépendance utilise
gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath
(inclure les dépendances androidtest)
OU
gradlew -q dependencies app:dependencies --configuration debugCompileClasspath
(dépendances régulières pour le débogage)
ce qui donne quelque chose qui ressemble à ça
------------------------------------------------------------
Project :app
------------------------------------------------------------
debugCompileClasspath - Resolved configuration for compilation for variant: debug
...
+--- com.android.support:appcompat-v7:26.1.0
| +--- com.android.support:support-annotations:26.1.0
| +--- com.android.support:support-v4:26.1.0 (*)
| +--- com.android.support:support-vector-drawable:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | \--- com.android.support:support-compat:26.1.0 (*)
| \--- com.android.support:animated-vector-drawable:26.1.0
| +--- com.android.support:support-vector-drawable:26.1.0 (*)
| \--- com.android.support:support-core-ui:26.1.0 (*)
+--- com.android.support:design:26.1.0
| +--- com.android.support:support-v4:26.1.0 (*)
| +--- com.android.support:appcompat-v7:26.1.0 (*)
| +--- com.android.support:recyclerview-v7:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | +--- com.android.support:support-compat:26.1.0 (*)
| | \--- com.android.support:support-core-ui:26.1.0 (*)
| \--- com.android.support:transition:26.1.0
| +--- com.android.support:support-annotations:26.1.0
| \--- com.android.support:support-v4:26.1.0 (*)
+--- com.android.support.constraint:constraint-layout:1.0.2
| \--- com.android.support.constraint:constraint-layout-solver:1.0.2
(*) - dependencies omitted (listed previously)
Si vous n'avez aucun contrôle sur la modification de la version, essayez de la forcer à utiliser une version spécifique.
configurations.all {
resolutionStrategy {
force "com.android.support:appcompat-v7:26.1.0"
force "com.android.support:support-v4:26.1.0"
}
}
La dépendance de force peut avoir besoin d'être différente selon ce qui est défini sur 28.0.0
compileSdkVersion 27
etcompileSdkVersion 28
, en changeantcompileSdkVersion
pour28
, j'ai résolu le problème.