Método não suportado: BaseConfig.getApplicationIdSuffix ()


248

Então, eu estou lendo o Android 6 para programadores: uma abordagem orientada a aplicativos e os dois primeiros exemplos de aplicativos não tiveram problemas com os exemplos, desta vez o exemplo do FlagQuiz quando carregado no Android Studio 3.0 Canary-3, estou recebendo esse erro que não está me deixando construir o projeto:

Erro: Método não suportado: BaseConfig.getApplicationIdSuffix (). A versão do Gradle ao qual você se conecta não suporta esse método. Para resolver o problema, você pode alterar / atualizar a versão de destino do Gradle à qual você se conecta. Como alternativa, você pode ignorar essa exceção e ler outras informações do modelo.

Você pode baixar a fonte do site do livro aqui para testar com a mesma base de código da qual estou testando.

Respostas:


643

Tudo bem, eu descobri como corrigir esse problema.

  • Abra build.gradle e altere a versão gradle para a versão recomendada:
    classpath 'com.android.tools.build:gradle:1.3.0'para
    classpath 'com.android.tools.build:gradle:2.3.2'
  • Acertar 'Try Again'
  • Na caixa de mensagens, 'Fix Gradle Wrapper and re-import project'clique em Clique, pois a versão mínima do nível é3.3
  • Um novo erro será exibido e será exibido The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0- HitUpdate Build Tools version and sync project
  • Uma janela pode aparecer dizendo Android Gradle Plugin Update recommended: basta atualizar a partir daí.

Agora, o projeto deve ser executável agora em qualquer um dos seus dispositivos virtuais Android.


136
Realmente não entendo por que o Google dificulta as coisas.
ACAkgul

1
@ AhmetCanAkgül Não faz !!
Masquerade0097

1
no meu caso, o caminho de classe 'com.android.tools.build:gradle:2.3.2' funcionando.
Prags

Certamente é um pouco trabalhoso.
Scott Fraley

13
@ACAkgul Sim, estamos atualizando nossos aplicativos com menos frequência agora, toda vez que fazemos isso é uma tarefa árdua, uma simples correção de bug significa que precisamos atualizar nosso ambiente e passar horas (se não dias) para mudar para novas APIs e ambiente. As pessoas tiram sarro da Microsoft, agora eu acho que os MS são anjos!
albattran

91

Para o Android Studio 3, preciso atualizar dois arquivos para corrigir o erro: -

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. app / gradle / wrapper / gradle-wrapper.properties

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

Isso funcionou para mim. Deve ser marcado como resposta correta.
Tina J

1
@srs, explique por que, nas dependências, bloco gradle versão 3.0.1, mas no arquivo gradle-wrapper 4.1? Não deveria ser a mesma versão?
Johnny Five

1
Interessante, mas não conseguiu fazer isso em um projeto muito antigo. Então eu mudei a versão gradle não para 3.0.1, mas para 2.2.1 e funcionou.
Johnny Five

48

Primeiro, abra o arquivo build.gradle do módulo de aplicativo .

Verifique o caminho da classe de acordo com a dependência do seu projeto. Caso contrário, altere a versão desse caminho de classe.

de:

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

Para:

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

ou versão superior, de acordo com o seu nível de Android Studio.

Se o problema persistir, altere buildToolsVersion :

De:

buildToolsVersion '21.0.0'

Para:

buildToolsVersion '25.0.0'

em seguida, pressione 'Tente novamente' e o gradle será sincronizado automaticamente. Isso vai resolver isso.


16

No meu caso, o Android Studio 3.0.1, corrigi o problema com as duas etapas a seguir.

Etapa 1: Alterar a versão do plug-in Gradle no build.gradle no nível do projeto

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

Etapa 2: alterar a versão gradle

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

11

Também enfrentei o mesmo problema e obtive uma solução muito semelhante:

  1. Alterando o caminho de classe para caminho de classe 'com.android.tools.build:gradle:2.3.2'

    Imagem após adicionar o caminho de classe

  2. Uma nova mensagem indicando a versão da Ferramenta de Construção de Atualização. Clique nessa mensagem para atualizar. Atualizar


5
Cole seu código diretamente na resposta, em vez de usar imagens.
Tom Aranda

10

Altere sua versão do gradle ou atualize-a

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

alt + enter e escolha "substituir por versão específica".


5

Você pode fazer isso alterando o arquivo 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

0

Se este método () não suportado: Projeto Android BaseConfig.getApplicationIdSuffix for antigo e você tiver atualizado o Android Studio, o que fiz foi simplesmente FECHAR PROJETO e executá-lo novamente. Isso resolveu o problema para mim. Não adicionou dependências ou o que quer que seja descrito por outras respostas.


0

Fiz o seguinte para executar esta execução no AS 3.5

  1. app / build.gradle

    aplique o plugin: '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'
        }
    }

    }

dependências {implementação fileTree (dir: 'libs', inclui: ['* .jar']) implementação 'com.android.support:appcompat-v7:21.0.0' implementação 'com.squareup.picasso: picasso: 2.71828'}

  1. build.gradle

    buildscript {repositórios {jcenter () mavenCentral () maven {url ' https://maven.google.com/ ' nome 'Google'} dependências do google ()} {classpath 'com.android.tools.build:gradle:3.0. 1 '}} todos os projetos {repositórios {jcenter () google ()}}

  2. gradle-wrapper.properties

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.