Je reçois le message d'erreur suivant: "Appel de méthode ambigu" lors de l'initialisation de la barre d'outils avec Android Studio 3.0 RC1. J'ai étendu mon activité avec AppCompatActivity et compilé mon application en utilisant 'compileSdkVersion 26' . Joindre une capture d'écran de l'erreur.
Si vous avez récemment mis à jour votre projet à l'API, essayez de le faire.
Fichier -> Invalider les caches/redémarrer
puis
Fichier -> Projet de synchronisation avec des fichiers Gradle
cette résolution pour moi.
Mise à niveau vers appcompat 27 a résolu ce problème pour moi
Pour moi, changer la version de l'outil de génération en 27.0.2 a fonctionné, car toutes vos autres dépendances sont également l'API 27.
buildToolsVersion '27.0.2'
J'ai récemment mis à niveau pour construire la version 27.0.2 et je suis confronté au même problème. Mais j'ai remarqué que la version de compileSdk était définie sur 25. Le changement de compileSdk en 27 résolvait le problème.
Tu as
import Android.support.v7.app.AppCompatActivity
import Android.app.Activity
les deux dans votre code . Supprimez import Android.app.Activity
comme je peux le voir, ce n'est pas nécessaire pour vous.
"Fichier - Invalider les caches/redémarrer" a résolu mon problème.
Pour moi, aucune des solutions proposées ne fonctionnait, mais j’avais ce problème car j’avais à la fois 25 et 27 sdk Android installés sur mon ordinateur. Dès que j'ai enlevé le sdk 25, le problème a disparu.
J'ai rencontré le même problème avec Android Studio 3.0.0 build 171.4408382. Construire via Gradle sur la ligne de commande a bien fonctionné, mais IDE m'a présenté l'erreur mentionnée ci-dessus. J'ai essayé d'utiliser les API de niveau 26 avec appcompat v26.1.0 et les API de niveau 27 avec appcompat v27.0.1, mais aucune des deux combinaisons n'a fonctionné.
Ma "solution" consistait à rétrograder compileSdkVersion et targetSdkVersion vers le niveau 25 de l'API et la bibliothèque appcompat vers la version 25.4.0.
Pour toutes les combinaisons de versions mentionnées, j'ai utilisé le plugin Gradle v3.0.0 et l'outil de compilation Android v27.0.1.
Cela peut apparaître soudainement lors de l'exécution d'un analyseur de code tel que FindBugs-IDEA . Un moyen rapide de supprimer l'avertissement consiste à modifier temporairement la buildToolsVersion
dans votre app/build.gradle
, puis à la modifier à nouveau.
Par exemple, suivez ces étapes:
buildToolsVersion
en '26.0.1'
puis synchronisez le projet (appuyez sur le bouton 'Sync Now' quand il apparaît en haut)buildToolsVersion
par ce que vous aviez auparavant.Cela devrait effacer l'erreur.
Peut-être que vous avez une différence entre compileSdkVersion et targetSdkVersion
Pour moi, c’était la compileSdkVersion
qui était différente des bibliothèques de support utilisées
Tout d’abord, assurez-vous que vous n’avez pas de dépendances transitives utilisant des bibliothèques de support plus anciennes. Exécutez la commande suivante et assurez-vous qu'aucune ancienne bibliothèque de support n'est utilisée.
gradlew :app:dependencies
Assurez-vous que votre fichier Gradle est mis à jour avec les dernières dépendances. Par exemple: compileSdkVersion 27, targetSdkVersion 27, buildToolsVersion 27.0.3. etc. Il serait également utile de s’assurer qu’aucun des types d’application n’utilise un targetSdkVersion personnalisé.
Ctrl + clic sur la méthode findViewById. Il vous montrera les 2 méthodes (peut-être plus?) En conflit. Dans mon cas, le conflit était entre la méthode findViewById de l'API 23 et l'API 27. Par conséquent, j'ai dû supprimer le SDK et les sources pour la version Android 23. Une fois que je l'ai retiré et que j'ai invalidé les caches/redémarrages, mon problème a été résolu.
si les réponses ne résolvent pas votre problème, vous pouvez réinitialiser votre studio Android . J'ai résolu avec réinitialiser mon studio Android . Pour réinitialiser: https://stackoverflow.com/a/19397632/3129822