Ich erhalte den Fehler: "Mehrdeutiger Methodenaufruf" beim Initialisieren der Toolbar mit Android Studio 3.0 RC1. Ich habe meine Aktivität mit AppCompatActivity erweitert und meine Anwendung mit 'compileSdkVersion 26' ..__ kompiliert. Ein Screenshot des Fehlers wird hinzugefügt.
Wenn Sie Ihr Projekt kürzlich auf API aktualisiert haben, versuchen Sie es
Datei -> Caches ungültig machen/neu starten
dann
Datei -> Projekt mit Verlaufsdateien synchronisieren
das entschließe mich.
Ein Upgrade auf appcompat 27 hat dieses Problem für mich gelöst
Die Änderung der Build-Tool-Version auf 27.0.2 hat für mich funktioniert, da alle anderen Abhängigkeiten ebenfalls API 27 sind.
buildToolsVersion '27.0.2'
Ich habe vor kurzem ein Upgrade auf die Build-Tools-Version 27.0.2 durchgeführt und war mit demselben Problem konfrontiert. Ich stellte jedoch fest, dass ich die compileSdk-Version auf 25 gesetzt hatte. Das Ändern von compileSdk auf 27 hat das Problem behoben.
Du hast
import Android.support.v7.app.AppCompatActivity
import Android.app.Activity
beide in Ihrem Code . Entfernen Sie import Android.app.Activity
wie ich sehen kann, es ist für Sie nicht erforderlich.
"Datei - Cache ungültig machen/Neustart" Mein Problem wurde gelöst.
Für mich funktionierte keine der angegebenen Lösungen, jedoch hatte ich dieses Problem, da auf meinem Computer sowohl 25 als auch 27 Android-SDK installiert waren. Sobald ich die SDK 25 entfernte, verschwand das Problem.
Ich bin mit Android Studio 3.0.0 Build 171.4408382 auf das gleiche Problem gestoßen. Das Bauen über Gradle in der Befehlszeile hat gut funktioniert, aber die IDE zeigte mir den oben genannten Fehler. Ich habe versucht, die API-Ebene 26 mit appcompat v26.1.0 und die API-Ebene 27 mit appcompat v27.0.1 zu verwenden, aber beide Kombinationen haben nicht funktioniert.
Meine "Lösung" bestand darin, compileSdkVersion und targetSdkVersion auf API Level 25 und die Appcompat-Bibliothek auf Version 25.4.0 herunterzustufen.
Für alle genannten Versionskombinationen habe ich das Gradle Plugin v3.0.0 und das Android Build Tool v27.0.1 verwendet.
Dies kann plötzlich auftreten, wenn ein Codeanalysator wie FindBugs-IDEA ausgeführt wird. Sie können die Warnung schnell löschen, indem Sie die buildToolsVersion
in Ihrem app/build.gradle
vorübergehend ändern und sie dann erneut ändern.
Gehen Sie beispielsweise folgendermaßen vor:
buildToolsVersion
in '26.0.1'
und synchronisieren Sie das Projekt (drücken Sie die Schaltfläche 'Jetzt synchronisieren', wenn es oben angezeigt wird).buildToolsVersion
wieder in das, was Sie zuvor hatten.Dies sollte den Fehler löschen.
Möglicherweise unterscheiden Sie compileSdkVersion und targetSdkVersion
Für mich war es die compileSdkVersion
, die sich von den verwendeten Unterstützungsbibliotheken unterschied
Stellen Sie zunächst sicher, dass Sie keine transitiven Abhängigkeiten haben, die ältere Unterstützungsbibliotheken verwenden. Führen Sie den folgenden Befehl aus und stellen Sie sicher, dass keine älteren Unterstützungsbibliotheken verwendet werden.
gradlew :app:dependencies
Stellen Sie sicher, dass Ihre Gradel-Datei mit den neuesten Abhängigkeiten aktualisiert wird. zB: compileSdkVersion 27, targetSdkVersion 27, buildToolsVersion 27.0.3. usw. Es wäre auch von Vorteil, sicherzustellen, dass keine Ihrer App-Varianten eine benutzerdefinierte targetSdkVersion verwendet.
Halten Sie die Strg-Taste gedrückt und klicken Sie auf die Methode findViewById. Es zeigt Ihnen die zwei (vielleicht mehr?) Widersprüchlichen Methoden. In meinem Fall lag der Konflikt zwischen der findViewById-Methode von API 23 und API 27. Daher musste ich das SDK und die Quellen für Android Version 23 entfernen. Nachdem ich es entfernt und Invalidate Caches/Restart durchgeführt hatte, war mein Problem gelöst.
wenn das Problem durch Antworten nicht behoben wird, können Sie Ihr Android-Studio zurücksetzen. Ich löste das Problem mit meinem Android-Studio. Für Reset: https://stackoverflow.com/a/19397632/3129822