Я получаю сообщение об ошибке: "Неоднозначный вызов метода" при инициализации панели инструментов с помощью Android Studio 3.0 RC1. Я расширил свою деятельность с помощью AppCompatActivity и скомпилировал свое приложение, используя "compileSdkVersion 26". Прикрепление скриншота об ошибке.
Ошибка: вызов неоднозначного метода. И findViewById (int) в AppCompactActivity и Activity
Ответ 1
Если вы недавно обновили свой проект до API, попробуйте сделать
File → Invalidate Caches/Restart
затем
Файл → Синхронизировать проект с файлами Gradle
это решение для меня.
Ответ 2
Обновление до appcompat 27 решило это для меня
Ответ 3
Для меня изменилась версия инструмента сборки до 27.0.2, учитывая, что все ваши другие зависимости - это API 27.
buildToolsVersion '27.0.2'
Ответ 4
У вас есть
import android.support.v7.app.AppCompatActivity
import android.app.Activity
оба в вашем коде.
Удалите import android.app.Activity
, как я вижу, это не требуется для вас.
Ответ 5
"Файл - Invalidate Caches/Restart" Решил мою проблему.
Ответ 6
Недавно я обновил для сборки инструменты версии 27.0.2 и столкнулся с той же проблемой. Но заметил, что у меня была версия compileSdk, установленная на 25. Изменение компиляцииSdk до 27 разрешило проблему.
Ответ 7
Для меня ни одно из данных решений не сработало, однако у меня возникла эта проблема, потому что на моем компьютере были установлены как 25, так и 27 Android SDK. Как только я удалил SDK 25, проблема исчезла.
Ответ 8
Возможно, у вас есть разница между compileSdkVersion и targetSdkVersion
Ответ 9
Я столкнулся с той же проблемой с Android Studio 3.0.0 build 171.4408382. Построение через Gradle в командной строке работало нормально, но IDE представила мне вышеупомянутую ошибку. Я попытался использовать API-уровень 26 с appcompat v26.1.0 и уровнем API 27 с помощью appcompat v27.0.1, но ни одна из них не работала.
Моим "решением" было понизить параметры компиляцииSdkVersion и targetSdkVersion до уровня API 25 и библиотеки appcompat до версии 25.4.0.
Для всех упомянутых комбинаций версий я использовал Gradle плагин v3.0.0 и инструмент сборки Android v27.0.1.
Ответ 10
Это может внезапно появиться при запуске анализатора кода, такого как FindBugs-IDEA. Быстрый способ снять предупреждение - временно изменить buildToolsVersion
в вашем app/build.gradle
затем снова изменить его.
Например, выполните следующие действия:
- Откройте файл app/build.gradle.
- Измените
buildToolsVersion
на "'26.0.1'
затем синхронизируйте проект (нажмите кнопку "Синхронизировать сейчас", когда она появится вверху) - Измените
buildToolsVersion
обратно на то, что у вас было раньше. - Нажмите кнопку "Синхронизировать сейчас"
Это должно очистить ошибку.
Ответ 11
Если ответы не решают вашу проблему, вы можете reset свою студию Android. Я решил с reset моей андроид-студией. Для reset: fooobar.com/questions/106655/...
Ответ 12
Сначала убедитесь, что у вас нет транзитивных зависимостей, которые используют старые библиотеки поддержки. Запустите следующую команду и убедитесь, что старые библиотеки поддержки не используются.
gradlew :app:dependencies
Убедитесь, что ваш Gradle файл обновлен с учетом последних зависимостей. Например: compileSdkVersion 27, targetSdkVersion 27, buildToolsVersion 27.0.3. и т.д. Также было бы полезно убедиться, что ни один из ваших приложений не использовал пользовательский targetSdkVersion.
Ctrl + клик по методу findViewById. Он покажет вам 2 (возможно, больше?) Конфликтующих методов. В моем случае конфликт был между методом findViewById из API 23 и API 27. Поэтому мне пришлось удалить SDK и исходные коды для Android версии 23. Как только я удалил его и сделал Invalidate Caches/Restart, это решило мою проблему.
Ответ 13
Для меня в моих модулях были разные версии библиотеки поддержки.
Ответ 14
Для меня это был compileSdkVersion
который отличался от используемых библиотек поддержки.