Неподдерживаемый метод: BaseConfig.getApplicationIdSuffix ()

Итак, я читаю Android 6 для программистов: подход, ориентированный на приложения и первые два примера приложений. У меня не было проблем с примерами, на этот раз пример FlagQuiz при загрузке в Android Studio 3.0 Canary-3. Я получаю эту ошибку, которая не позволяет мне создать проект:

Ошибка: неподдерживаемый метод: BaseConfig.getApplicationIdSuffix (). Версия Gradle, к которой вы подключаетесь, не поддерживает этот метод. Чтобы решить эту проблему, вы можете изменить / обновить целевую версию Gradle, к которой вы подключаетесь. В качестве альтернативы вы можете проигнорировать это исключение и прочитать другую информацию из модели.

Вы можете загрузить исходный код с книжного сайта здесь, чтобы тестируйте с той же кодовой базой, из которой я тестирую.


person exts    schedule 14.06.2017    source источник


Ответы (9)


Хорошо, я понял, как исправить эту проблему.

  • Откройте build.gradle и измените версию gradle на рекомендованную:
    classpath 'com.android.tools.build:gradle:1.3.0' на
    classpath 'com.android.tools.build:gradle:2.3.2'
  • Ударь 'Try Again'
  • В окне сообщений будет написано 'Fix Gradle Wrapper and re-import project' Щелкните по нему, поскольку минимальная версия Gradle - 3.3.
  • Появится новая ошибка с надписью The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0 - Hit Update Build Tools version and sync project.
  • Может появиться всплывающее окно с надписью Android Gradle Plugin Update recommended, просто обновите оттуда.

Теперь проект должен быть запущен на любом из ваших виртуальных устройств Android.

person exts    schedule 14.06.2017
comment
Я действительно не понимаю, почему Google все усложняет. - person ACAkgul; 08.12.2017
comment
@ AhmetCanAkgül Это не так !! - person Priyanshu Khandelwal; 14.12.2017
comment
в моем случае путь к классам com.android.tools.build:gradle:2.3.2 работает. - person Prags; 03.01.2018
comment
Это определенно утомительно. - person Scott Fraley; 04.01.2018
comment
@ACAkgul Да, теперь мы обновляем наши приложения реже, каждый раз, когда мы это делаем, это огромная рутина, простое исправление ошибки означает, что нам нужно обновить нашу среду и тратить часы (если не дни), чтобы переключиться на новые API и среду. Люди смеются над Microsoft, теперь я думаю, что MS - ангелы! - person albattran; 21.01.2018
comment
У меня был старый проект, который мне нужно было обновить, и я столкнулся с этой проблемой. Это решение сработало отлично. - person Wayne Johnson; 20.02.2018
comment
На самом деле вам не нужно ничего делать, это только для того, чтобы удовлетворить Android Studio. Вы можете просто выполнить сборку gradle из командной строки ./gradlew assembleRelease, ничего не меняя в своих файлах конфигурации. - person David; 29.03.2018
comment
Откройте build.gradle и измените версию gradle на рекомендованную: classpath 'com.android.tools.build:gradle:1.3.0' на classpath 'com.android.tools.build:gradle:3.3 ' - person Marwan Salim; 04.06.2018
comment
Я надеюсь, что есть ярлык. - person Sunil Kumar; 01.08.2018
comment
Решение от srs занимает меньше времени. - person Sunil Kumar; 01.08.2018
comment
Попал в ту же проблему, и все вышеперечисленные шаги прошли успешно. Но, наконец, в конце я застрял с ошибкой ниже: Конфигурация «компиляция» устарела и была заменена на «реализация» и «api». Он будет удален в конце 2018 года. Для получения дополнительной информации см. d .android.com / r / tools / update-dependency-configurations.html. - person kamleshrao; 17.09.2018
comment
После выполнения вышеуказанных действий возникла ОШИБКА: не удалось устранить: com.android.support:appcompat-v7:22.1.1 Добавить репозиторий Google Maven и синхронизировать проект Показать в диалоговом окне "Структура проекта" Затронутые модули: приложение - person Dharmik; 20.10.2019
comment
Какой вообще смысл в gradlew, если меня заставят обновиться ... - person Aurasphere; 13.07.2020
comment
**** Я действительно не понимаю, почему Google все усложняет *** это проблема НЕ только с google / android. Это болезнь, которая случилась с миром. Технический мир стал без искусства и, следовательно, бессердечным, бессмысленным, бесстыдным, Android-разработчик, он загрузит 1000 файлов, чтобы поздороваться с миром и все равно плакать, что-то НЕ найдено - person Padmanabhan; 14.02.2021

Для Android Studio 3 мне нужно обновить два файла, чтобы исправить ошибку: -

1. app / build.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }

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

2. приложение / gradle / wrapper / gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
person srs    schedule 22.12.2017
comment
Это сработало для меня. Должен быть отмечен как правильный ответ. - person Tina J; 30.01.2018
comment
@srs, объясните, пожалуйста, почему в зависимостях блокируют gradle версии 3.0.1, а в файле gradle-wrapper 4.1? Разве это не должна быть одна и та же версия? - person Johnny Five; 06.05.2018
comment
Интересно, но в действительно старом проекте этого сделать не удалось. Затем я просто изменил версию gradle не на 3.0.1, а на 2.2.1, и это сработало. - person Johnny Five; 06.05.2018

Сначала откройте файл build.gradle модуля вашего приложения.

Проверьте путь к классам в соответствии с зависимостью вашего проекта. Если нет, измените версию этого пути к классам.

от:

classpath 'com.android.tools.build:gradle:1.0.0'

Кому:

classpath 'com.android.tools.build:gradle:2.3.2'

или более поздняя версия в соответствии с вашей версией студии Android.

Если проблема не исчезла, измените buildToolsVersion:

От:

buildToolsVersion '21.0.0'

Кому:

buildToolsVersion '25.0.0'

затем нажмите «Повторить попытку», и градиент автоматически синхронизируется. Это решит это.

person amit pandya    schedule 19.02.2018

В моем случае, Android Studio 3.0.1, я решил проблему, выполнив следующие два шага.

Шаг 1. Измените версию плагина Gradle в build.gradle на уровне проекта

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

Шаг 2. Измените версию Gradle

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
person Harry Zhang    schedule 05.01.2018

Я также столкнулся с той же проблемой и получил очень похожее решение:

  1. Изменение пути к классам на путь к классам com.android.tools.build:gradle:2.3.2

    Изображение после добавления пути к классам

  2. Новое сообщение, указывающее на версию Update Build Tool, поэтому просто щелкните это сообщение, чтобы обновить. Обновить

person Girish B.R    schedule 31.10.2017
comment
Пожалуйста, вставьте свой код прямо в ответ, а не используйте изображения. - person Tom Aranda; 31.10.2017

Измените версию Gradle или обновите ее

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

alt + enter и выберите «заменить на конкретную версию».

person Exel Staderlin    schedule 05.12.2017

Вы можете сделать это, изменив файл gradle.

 build.gradle > change
    dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    }
    gradle-wrapper.properties > update
    distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip
person Mudassir Khan    schedule 26.09.2018

Если this () Неподдерживаемый метод: BaseConfig.getApplicationIdSuffix Android Project устарел и вы обновили Android Studio, я просто ЗАКРЫТЬ ПРОЕКТ и снова запустил его. Это решило проблему для меня. Не добавлял никаких зависимостей или чего-то еще, как описано в других ответах.

person itzo    schedule 17.03.2019

Я сделал следующее, чтобы запустить его на AS 3.5.

  1. приложение / build.gradle

    применить плагин: 'com.android.application'

    android {compileSdkVersion 21 buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "com.example.android.mobileperf.render"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    

    }

зависимости {реализация fileTree (dir: 'libs', include: ['* .jar']) реализация 'com.android.support:appcompat-v7:21.0.0' implementation 'com.squareup.picasso: picasso: 2.71828'}

  1. build.gradle

    buildscript {репозитории {jcenter () mavenCentral () maven {url 'https://maven.google.com/ 'name' Google '} google ()} зависимости {classpath' com.android.tools.build:gradle:3.0.1 '}} все проекты {репозитории {jcenter () google ()}}

  2. gradle-wrapper.properties

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

person Hermandroid    schedule 23.09.2019