Подтвердить что ты не робот

Неподдерживаемый метод: AndroidProject.getVariantNames() в Android Studio 3.4

Я только что обновился до Android Studio 3.4 (Canary 5). Затем я открыл свой существующий проект (который отлично работал на Android Studio 3.3 Beta) и получил эту ошибку:

ERROR: Unsupported method: AndroidProject.getVariantNames().
The version of Gradle you connect to does not support that method.
To resolve the problem you can change/upgrade the target version of Gradle you connect to.
Alternatively, you can ignore this exception and read other information from the model.

Полная очистка и восстановление, недействительный кеш и перезапуск, повторный импорт проекта не работает.

gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

build.gradle (уровень проекта):

dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
}

О Android Studio

Android Studio 3.4 Canary 5
Build #AI-183.4284.36.34.5141831, built on November 20, 2018
JRE: 1.8.0_152-release-1248-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-39-generic

Как это решить?

4b9b3361

Ответ 1

Наконец я узнал, как заставить вещи работать снова.

Попробуйте изменить, чтобы использовать distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip в gradle-wrapper.properties

И путь к классу classpath 'com.android.tools.build:gradle:3.2.1' в build.gradle (уровень проекта).

Ответ 2

Вам необходимо отключить этот параметр в Android Studio:

File > Settings (или Preferences для предыдущих версий)> Experimental > Only sync active variant

Ответ 3

Получено то же сообщение об ошибке после обновления до Android Studio 3.3 и перезагрузки более старого проекта, который использовал более раннюю версию Gradle. Я исправил свой проект, изменив следующую строку в существующем файле уровня проекта gradle.build

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
    }

Кроме того, я также удалил некоторые старые SDK, и мне нужно было установить SDK уровня проекта в "Настройки открытого модуля".

После этих двух изменений сообщения изменились и включили несколько ссылок на автоматическое исправление, благодаря которым мой проект снова заработал и работал как обычно.

ОШИБКА: Минимальная поддерживаемая версия Gradle - 4.10.1. Текущая версия 4.4.

Пожалуйста, исправьте настройки проекта Gradle.

Исправьте обертку Gradle и повторно импортируйте настройки Gradle проекта

Ответ 4

Эта проблема возникла после установки новой Android Studio 3.3.

Я установил Android 8.1 (Oreo) из Tools → SDK Manager или File → Settings → Appearance & Behaviour → System Settings → Android SDK и проект успешно синхронизирован и собран.

Ответ 5

Это происходит, когда вы устанавливаете новую версию Android Studio, например, "3.xx". Вы можете устранить эту ошибку, просто добавив нижнюю строку в файл build.gradle.

Зависимости {classpath 'com.android.tools.build:gradle:3.3.0'}

Ответ 6

Существует две разные things-- distributionUrl и версия плагина.

Версия плагина упоминается в файле build.gradle уровня проекта как classpath 'com.android.tools.build:gradle:3.2.1' или 'com.android.tools.build:gradle:3.3.1'.

И distributionUrl ссылается на GradleWrapper, который находится в (gradle-wrapper.properties)

Если вы перейдете по этой ссылке, вы увидите связь между ними.

Как и в апреле 2019 года, последняя версия плагина - 3.4.0, а последний дистрибутив - 5.1.1.

Так в вашем проекте уровень файла build.gradle

 dependencies {
    classpath 'com.android.tools.build:gradle:3.4.0'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

и в gradle-wrapper.properties сделайте: -

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

Тогда сделайте синхронизацию и должно быть хорошо.

Ответ 7

Любой другой ответ решил проблему в моем случае, я обнаружил, что это произошло из-за отсутствия лицензионного соглашения.

Для исправления нужно выполнить

на Linux и OSX:

$ANDROID_HOME/tools/bin/sdkmanager --licenses 

или Windows:

> C:\Users\erik\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --licenses 

и принять все лицензионные соглашения.