Erro de compilação do Android Hello-World: o Intellij não consegue encontrar aapt


90

Estou tentando configurar um ambiente de desenvolvimento Android usando IntelliJ no Ubuntu 12.04. Eu crio um Módulo de Aplicativo Android, mas quando tento construir, obtenho o seguinte erro:

android-apt-compiler: Não é possível executar o programa "/ home / jon / Programs / android-sdk-linux / platform-tools / aapt": java.io.IOException: error = 2, arquivo ou diretório inexistente

Várias horas vasculhando a internet não ajudaram.

A propósito, corri locate aaptno terminal e descobri que aaptestá localizado em/home/jon/Programs/android-sdk-linux/build-tools/17.0.0/aapt


Bem, obrigado por todas as respostas pessoal! Mudei para o fork do Android Studio e está funcionando perfeitamente. Mas eu acho que as outras soluções relacionadas aos links simbólicos ou ao plugin do android-maven podem ser mais apropriadas para outros usuários do intellij. Suponho que isso será corrigido em uma atualização em questão de tempo ...
jonS90

Respostas:


130

Parece que a atualização mais recente do lançamento do SDK r22 moveu aapt e lib jar do diretório platform-tools para o diretório build-tools. Enquanto esperamos o JetBrains lançar uma atualização, aqui está uma solução rápida usando alguns links simbólicos:

No diretório AndroidSDK / platform-tools, execute o seguinte:

ln -s ../build-tools/17.0.0/aapt aapt
ln -s ../build-tools/17.0.0/lib lib

... e o IntelliJ deve ser capaz de compilar normalmente.


21
Oi, perfeito para mim também. Apenas para informação: Eu executo o Intellij no Windows, você pode abrir um prompt do DOS com privilégios de administrador e executar: mklink D:\Android\android-sdk\platform-tools\aapt.exe D:\Android\android-sdk\build-tools\17.0.0\aapt.exee mklink /D D:\Android\android-sdk\platform-tools\lib D:\Android\android-sdk\build-tools\17.0.0\lib
Francesco Pez

Também foi necessário adicionar:ln -s ../build-tools/17.0.0/aidl aidl
xaviert

3
Se você está recebendo isso e executando o aapt diretamente também diz arquivo não encontrado, você pode estar tendo um problema de 64 bits: link
Tomas

@FrancescoPez Não funciona no XP ou em sistemas usando fat32. Para WinXP: schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Ainda outro usuário

Para usuários do Windows 64Bit como Francesco Pez mencionou apenas a dica para caminhos com espaços: coloque ambos os caminhos entre aspas, por exemplo, mklink "C: \ Arquivos de programas \ androidsdk \ sdk \ platform-tools \ aapt.exe" "C: \ Arquivos de programas \ androidsdk \ sdk \ build-tools \ android-4.3 \ aapt.exe "
Christian Schäfer,

21

atualize seu IntelliJ para 12.1.4 usando versões beta como o canal de atualização insira a descrição da imagem aqui


2
Isso fez isso, porém, eu tive que selecionar EARLY RELEASES, que mostrava a atualização .4, então quando reiniciei recebi o 3.x que neguei. (Mac OS X 10.8.x)
Martin Marconcini

12

No Windows basta copiar aapt.exe, lib\dx.jaredx.bat

de build-tools \ android-4.2.2

para

ferramentas de plataforma


10

O mesmo problema ocorreu comigo com o android-studio. Mas, isso provavelmente se aplica ao IDE IntelliJ também.

Ao verificar o local do arquivo, vi, no entanto, que aaptestava no local esperado.

No meu caso, o problema era que eu estava executando um sistema Ubuntu Linux de 64 bits que não pode executar o aaptexecutável de 32 bits .

A instalação de bibliotecas de compatibilidade de 32 bits resolveu este problema no meu caso: sudo apt-get install ia32-libs


Parece que ia32-libsnão está mais disponível para Ubuntu 13.10 e superior.
Chad Bingham

Adicione deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiversea /etc/sources.list, então sudo apt-get updatee depoissudo apt-get install ia32-libs
Mendhak

6

eu resolvo isso com comandos de linha

ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/aapt ~/Programs/android-sdk-linux/platform-tools/aapt
ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/lib ~/Programs/android-sdk-linux/platform-tools/lib

3

Eu também percebi.

O ADT foi atualizado e eles adicionaram novas ferramentas de construção para onde moveram tudo. O Intellijidea não está atualizando caminhos, então está procurando aapt no caminho antigo.

Não sei como resolver, então me avise se encontrar uma solução ...

ATUALIZAR:

Acho que você tem apenas 2 opções:

1) Use o Android Build Studio: http://developer.android.com/sdk/installing/studio.html 2) Copie (isso é sujo, mas funciona) todo o conteúdo de build-tools / 17.0.0 / para platform-tools / e vai construir


Ah, um problema de atualização. Ok, acabei de descobrir que o Google lançou o Android Studio , que é um fork do Intellij. Talvez o Google espere que as pessoas mudem para o Android Studio em vez de atualizar o Intellij?
jonS90

Sim, eles lançaram (dê uma olhada no keynote do Google I / O ontem). É basicamente JideaCommunity + foco no Android. Em seguida, ele será mesclado com o JideaPro (espero que sim).
StErMi

2
Não é realmente um fork, é baseado na construção do Early Access Program. Depois que a compilação EAP se tornar IntelliJ principal, ela terá os mesmos recursos do Android Studio.
powerj1984 de


2

Obrigado pela dica! Em um mac executando o Android 4.2.2 SDK, isso funcionou muito bem. Você só precisa atualizar seus caminhos de acordo. Por exemplo

ln -s ../build-tools/android-4.2.2/lib lib

ln -s ../build-tools/android-4.2.2/aapt aapt


1

Encontrei esse problema, mas com o plugin android-maven e como uma variante do seu item # 2, em vez de copiar o (s) arquivo (s), simplesmente criei um link simbólico / virtual para aapt

cd platform-tools
ln -s ../build-tools/17.0.0/aapt ./

Essa abordagem parecia fazer com que todas as minhas compilações funcionassem novamente.


1

Clone o plugin do android-maven no GitHub e instale-o no seu repo

git clone https://github.com/jayway/maven-android-plugin.git
cd ... / maven-android-plugin /
mvn clean install

Em seguida, atualize seu pom para usar a versão 3.5.4-SNAPSHOT do plugin. Tudo deve funcionar corretamente!


Observe, no entanto, que isso corrigirá a construção do maven, mas não a do IntelliJ. Para isso, a solução alternativa do link simbólico deve ajudar até que o IntelliJ o conserte.
Andy Dennie

você deve conseguir encontrar a versão do plugin android-maven em algum lugar na
configuração

o sistema de compilação IntelliJ embutido não usa o plugin android-maven. Para fazer funcionar, você precisa fazer os links simbólicos. E se você fizer os links simbólicos, não deverá precisar atualizar para o instantâneo mais recente do android-maven-plugin; os links corrigirão tanto a compilação do IntelliJ quanto a versão não mais recente do plugin android-maven.
Andy Dennie

Sim, tenho um ambiente windows. Inicie uma janela DOS como administrador e, em seguida, use o comando mklink. Vá para platform-tools e crie links para aapt.exe, aidl.exe, dexdump.exe, dx.bat e lib \ dx.jar para suas contrapartes em build-tools \ 17.0.0 e build-tools \ 17.0. 0 \ lib. Nota: você precisará criar a subpasta lib em ferramentas de plataforma.
Andy Dennie

0

Eu executei esses três comandos e meu problema foi resolvido

mklink "%ANDROID_HOME%\platform-tools\aapt.exe" "%ANDROID_HOME%\build-tools\17.0.0\aapt.exe"

mklink /D "%ANDROID_HOME%\platform-tools\lib" "%ANDROID_HOME%\build-tools\17.0.0\lib"

mklink "%ANDROID_HOME%\platforms\android-17\tools" "%ANDROID_HOME%\build-tools\17.0.0\aidl.exe"

Se você não definiu a variável de ambiente ANDROID_HOME, substitua% ANDROID_HOME% pelo caminho para o SDK do seu Android, por exemplo, C: \ Android \ android-sdk


0

No Mac OS, você precisa

$ cd platform-tools
$ ln -s ../build-tools/android-4.2.2/aapt aapt
$ ln -s ../build-tools/android-4.2.2/lib lib

0

Goodlife mais uma vez. Apenas no caso de tal projeto de limpeza de erro e você está pronto para ir.

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.