Não foi possível encontrar com.android.tools.build:aapt2:3.2.0

105

AndroidStudio3.2 Canary14 falha na limpeza e reconstrução com o seguinte erro

Could not find com.android.tools.build:aapt2:3.2.0-alpha14-4748712.
Searched in the following locations:
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    file:~/Library/Android/sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712.pom
    https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.0-alpha14-4748712/aapt2-3.2.0-alpha14-4748712-osx.jar
Required by:
    project :app
Arunabh Das
fonte

Respostas:

239

A partir do Android Studio 3.2 Canary 11, a fonte do AAPT2 (Android Asset Packaging Tool 2) é o repositório Maven do Google.

Para usar AAPT2, certifique-se de que você tenha uma dependência google () em seu arquivo build.gradle, conforme mostrado aqui:

buildscript {
  repositories {
      google() // here
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:3.2.0-alpha12'
  }
} 
allprojects {
  repositories {
      google() // and here
      jcenter()
  }
}

A nova versão do AAPT2 corrige muitos problemas, incluindo o tratamento aprimorado de caracteres não ASCII no Windows.

Adicionar os repositórios ao buildscriptnão é suficiente, você precisa adicioná-lo também ao allprojects.

Fonte: https://developer.android.com/studio/releases/#aapt2_gmaven

Izabela Orlowska
fonte
30
Isso corrigiu para mim - eu tinha google()em buildscriptrepositórios, mas não em allprojectsrepositórios. Muito grato.
LarsH
1
Obrigado! é uma solução tão simples. Isso levanta a questão de por que a mensagem de erro tem que ser tão enigmática que a ação recomendada não foi incluída por padrão
Antony
3
A resposta do LarsH ajudou, mais um ponto é que google () deve estar presente acima dos outros também. Ordem também importa aqui.
Reejesh PK
Também é possível construir o projeto sem a google()dependência?
white_gecko
Você poderia baixar o artefato do maven e colocá-lo em seu repositório offline se realmente quisesse
Izabela Orlowska
41

Você está abrindo um projeto muito antigo? Nesse caso, certifique-se de que o build.gradle do seu aplicativo tenha:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

(Isso resolveu para mim de qualquer maneira)

Pico
fonte
A parte importante é a dependência do repositório "google ()".
Izabela Orlowska
11
Para mim foi a ordem. Eu tinha, google()mas estava na lista de repositórios. Movê-lo para o topo da lista de repositórios corrigiu o problema.
Ezekiel Sebastine
isso deve ser aceito ... (para abrir projetos antigos, pelo menos) ... o repositório de chaves era google () e pode ser colocado no build.gradle do aplicativo ou melhor, no build.gradle do projeto em allprojects> repositories, onde jcenter () normalmente já é
Lukáš Řádek
19

Basta adicionar google()seu buidscript e allprojects e reconstruir o projeto.

buildscript {
    repositories {
        google() // `enter code here`
    }
 }

allprojects {
    repositories {
        google() // `<-- here`
    }
}
fMadTech
fonte
Obrigado pela ajuda. Adicionar todos os projetos resolveu o problema
Haris Durrani
5

Atualize a dependência do arquivo build.grade do seu aplicativo com a versão atualizada do grau

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

Siga a sugestão do android studio da versão para a qual atualizar. após a atualização do seu caminho de classe da nota e sincronizar novamente seu aplicativo.

Depois de tudo isso reinicie seu android studio .

Samson Ayalew
fonte
3

Eu resolvo esse problema alterando o "DistributionUrl" em android/gradle/gradle-wrapper.properties.

O valor padrão era https\://services.gradle.org/distributions/gradle-4.10.2-all.zipe eu mudei para https\://services.gradle.org/distributions/gradle-5.4.1-all.zipe o erro desapareceu.

Amir Ajorloo
fonte
3

Recebi esta mensagem de erro:

Não foi possível baixar aapt2-osx.jar (com.android.tools.build:aapt2:3.5.0-5435860): Nenhuma versão em cache disponível para o modo offline

Mesmo se eu tivesse definido todas as dependências necessárias para meu projeto e a configuração certa em meu build.gradle:

apply plugin: 'com.android.application'

repositories {
    google()
    jcenter()
} 

O erro ainda está acontecendo, mas esta mensagem me deu uma pista do que estava acontecendo:

Nenhuma versão em cache disponível para o modo offline

Então descobri que estava trabalhando offline, você precisa desmarcar o "modo offline" para que o Android Studio possa baixar os recursos necessários para criar o projeto .

insira a descrição da imagem aqui

Quando seu projeto estiver funcionando novamente, você pode verificar novamente para trabalhar off-line.

Jorgesys
fonte
3

Estou no Irã e o repositório do Google está restrito à minha localização. Quando mudei meu IP para outro país, esse problema foi resolvido. Parece que você pode ter um problema de conexão com a Internet quando esse erro acontecer.

AliSh
fonte
Na verdade estou usando o vpn, mas o problema ainda lembra e não consigo executar o projeto!
Nadia
1
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()  //导入旧版本项目时,一般来说该处依赖会在更改classpath中gradle版本是自动添加
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
       /*
        解决报错:Could not find com.android.tools.build:aapt2:3.3.0-5013011.
        Beginning with Android Studio 3.2 Canary 11, the source for AAPT2 (Android Asset Packaging Tool 2) is Google's Maven repository.
        To use AAPT2, make sure that you have a google() dependency in your build.gradle file, as shown here:
        */
        google() //但是此处不会,需要自主添加
        jcenter()
    }
}
林 嗳 莫
fonte
0

A solução é um processo de quatro etapas,

  1. mude o classpath em build.gradle para a versão desejada.
  2. Sincronize agora
  3. Depois de baixar todos os arquivos, você pode excluir o novo e adicionar a versão anterior no Gradle.
  4. Sincronize agora
Hanif s
fonte
0

No meu caso, consegui resolver isso atualizando "Android SDK Build-Tools" para a versão mais recente.

No Android Studio, vá para Ferramentas -> SDK Manager -> guia Selecionar ferramentas do SDK -> verifique se há alguma atualização disponível para Android SDK Build - Ferramentas (atualizado para a última v30.0.0).

insira a descrição da imagem aqui

Narshim
fonte
-1

você precisa gravar em: build.gradle () e digite google () e esta opção faz isso na seção buildscript e allproject

DonMoh
fonte
1
isto é mais um comentário do que uma resposta
sudo97
-2

se google () não corrigido, então Arquivo -> Configuração -> Compilação, Execução, Implantação -> Gradle

Em seguida, desmarque Ofline Work, Done.

Saljith Kj
fonte