J'ai mis à jour aujourd'hui mon référentiel de support technique à 46.0.0 lorsque la notification Android Studio est apparue.
Je vais l'erreur ci-dessous:
Erreur: L'exécution a échoué pour la tâche ': app: processDevDebugManifest'.
La fusion du manifeste a échoué: L'attribut meta-data#Android.support.VERSION@value value = (25.3.0) from [com.Android.support:support-v13:25.3.0] AndroidManifest.xml: 27: 9-31 est également présent sur [com.Android.support:preference-v7:26.0.0-alpha1] AndroidManifest.xml: 24: 9-38 valeur = (26.0.0-alpha1). Suggestion: ajoutez 'tools: replace = "Android: value"' à l'élément sur AndroidManifest.xml: 25: 5-27: 34 pour remplacer.
J'ai mis à jour toutes mes dépendances pour utiliser Revision 26.0.0 Alpha 1 à partir de 25.3.0, mais il s'avère que j'ai besoin de passer le compileSdk de 25 à 26. Vous ne pouvez pas le faire si vous avez AS 2.3, vous devez obtenir le version instable alpha/beta de canary.
Ce lien affiche les modifications: https://developer.Android.com/topic/libraries/support-library/revisions.html#26-0-0-alpha1
Et concernant la migration vers le nouveau Android O, voici le lien: https://developer.Android.com/preview/migration.html
Il semble que l'utilisation de la version stable d'AS ne fonctionnera pas avec le nouveau référentiel.
Comment puis-je revenir à la Android Studio Repository Version 45 au lieu de la nouvelle 46?
** Mise à jour: le manifeste fusionné indique que l'un des manifestes de bibliothèque générés contient
<meta-data
Android:name="Android.support.VERSION"
Android:value="26.0.0-alpha1" />
Mais comme c'est un fichier généré, l'édition est inutile, c'est pourquoi, pour l'instant, je m'en tiendrai à la version 45 jusqu'à ce que le nouvel AS soit stable.
Certaines bibliothèques dépendent de la version "X ou plus récente" de Android bibliothèques de prise en charge afin que la résolution de dépendance Gradle saisisse la version la plus récente disponible en ignorant votre version actuelle spécifiée dans votre bloc dependencies
.
Ce n'est pas ce que tu veux. Vous voulez que toutes les bibliothèques de support avec la même version et la version majeure doivent correspondre à la version du SDK de compilation.
Heureusement, vous pouvez forcer une version spécifique de la bibliothèque de support.
Mettez ceci à la fin de votre module d'application build.gradle
:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
// Skip multidex because it follows a different versioning pattern.
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
Bien sûr, remplacez la version par ce que vous utilisez.
Les valeurs de version pour les bibliothèques de support dans le bloc dependecies
ne sont plus pertinentes.
Ceci est un méthode bien documentée et ça marche.
Trouver les bibliothèques qui dépendent d'une plage des versions de bibliothèques de support
gradlew dependencies --configuration compile -p <module name> | grep ,
et laissez les auteurs de ces bibliothèques savoir qu'ils doivent dépendre de manière transitoire des bibliothèques de support les plus anciennes qu'ils peuvent utiliser avec .
Cela vise à éviter complètement le problème.
étape 1
Pour échapper à la vérification de Gradle à la recherche de versions com.Android.support
incompatibles, une solution rapide consiste à ajouter le code suivant dans le module d'application build.gradle
.
dependencies {
//noinspection GradleCompatible
}
Ceci est une solution temporaire qui ne résout pas les problèmes sous-jacents! Cela a permis de continuer à développer votre application avec un minimum de modifications.
étape 2
Ajoutez ceci au fichier de manifeste principal AndroidManifest.xml
.
<meta-data
tools:replace="Android:value"
Android:name="Android.support.VERSION"
Android:value="25.3.1" />
Cette entrée sera supprimée lorsque l'une des prochaines mises à jour du référentiel de support sera disponible.
étape
Ajoutez le code suivant à la fin du fichier du module d'application build.gradle
:
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.1'
}
}
}
}
NB: Il est recommandé de s'assurer que vos bibliothèques Gradle sont mises à jour et compatibles pour éviter les erreurs d'exécution.
Leur est une solution pour y remédier:
Ex. dans mon cas:
configurations.all {
resolutionStrategy.force 'com.Android.support:appcompat-v7:25.3.0'
resolutionStrategy.force 'com.Android.support:support-v13:25.3.0'
}
Cela forcera le projet à utiliser la bibliothèque mentionnée.
Je pense que la meilleure solution consiste simplement à restaurer la Android Bibliothèque de support en version 45.
Pour ce faire, ouvrez ce lien (changez la version en fonction de vos besoins)
https://dl-ssl.google.com/Android/repository/Android_m2repository_r45.Zip
Une fois téléchargé, décompressez et copiez m2repository dans Android-sdk-root-folder\extras\Android. Assurez-vous de supprimer le répertoire m2 existant avant de décompresser pour éviter les problèmes.
Ceci est une solution temporaire qui ne résout pas les problèmes sous-jacents! Cela m'a aidé à continuer à développer des logiciels avec un minimum de modifications. Ajoutez simplement ceci au manifeste principal:
<meta-data
tools:replace="Android:value"
Android:name="Android.support.VERSION"
Android:value="25.3.0" />
Si possible, cette entrée pourra être supprimée à nouveau avec l'une des prochaines mises à jour du référentiel de support.
SOLUTION: La solution marquée a fonctionné pour moi en ajoutant les éléments suivants à 4 de mes 10 fichiers build.gradle:
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
pour moi le problème était que les versions n'étaient pas les mêmes ici
implementation 'com.Android.support:appcompat-v7:**26.0.0-beta1**'
implementation 'com.Android.support:support-v4:**26.0.0-beta1**'
implementation 'com.Android.support:design:**26.0.0-beta1**'
et la vue de la carte était
compile 'com.Android.support:cardview-v7:26.1.0'
donc j'ai changé les bibliothèques de versions à ..
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.Android.support:design:26.1.0'
espérons que cette aide, bonne chance