Android Studio - Falha ao localizar o destino android-18

94

Tenho um problema com o Android Studio 0.2.3.

Quando executo meu projeto, a compilação para e aparece a mensagem que diz:

Gradle: Falha na execução da tarefa ': AppName : compileDebugAidl'.
> falha ao encontrar o alvo android-18

embora eu tenha instalado a plataforma SDK do Android 4.3 (API 18) e tentei reinstalar todo o SDK. Também adicionei a ANDROID_HOMEvariável nas variáveis ​​do sistema.

Qual parece ser a origem desse erro?

RobertoAV96
fonte
qual é a sua meta mínima para o projeto?
Dave Alperovich
Android 2.3.3 (API 10)
RobertoAV96
1
As configurações da variável ANDROID_HOME em meu .bash_profile para meu local SDK do Android Studio (onde baixei a v18) corrigiram isso para mim!
Daniel Smith
Tive
sinais

Respostas:

118

Acho que você pode não ter o SDK do Android-18 instalado. Vá para Ferramentas> Android> Gerenciador de SDK e verifique se o Android 4.3 (API 18) está instalado.

Calvin Li
fonte
10
Na verdade, quando tive o problema, o SDK do Android-18 foi instalado, mas acho que o Android Studio não o detectou. Resolvi desinstalando e reinstalando o SDK e o Studio.
RobertoAV96
3
Quando recebi um erro semelhante, apenas reiniciar o Android Studio foi suficiente, em vez de reinstalar completamente.
Code-Apprentice de
1
Reiniciar o mac foi a única coisa que permitiu ao IntelliJ ver os SDKs recém-instalados para mim.
codeulike de
50

Resolvi o problema alterando o compileSdkVersionno arquivo Gradle.build de 18 para 17.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}
RobertoAV96
fonte
bom trabalho. Acho que o mesmo teria sido alcançado se você avançasse sua meta mínima. Na verdade, provavelmente não funcionaria em um 2.3.3
Dave Alperovich
3
Isso realmente não é uma solução para o problema, especialmente se você estiver tentando usar os recursos disponíveis apenas para maiores de 18 anos
Daniel Smith
Como fazer para usar apenas o SDK mais recente? Tenho um problema semelhante com esta biblioteca: github.com/devunwired/custom-view-examples e, embora tenha feito etapas semelhantes, recebo este erro.
Desenvolvedor Android
10

ETAPA 1) Inicie o Android SDK Manager

Com o androidcomando algo como abaixo,

$ /usr/local/android-studio/sdk/tools/android

ETAPA 2) Encontre a API 18

insira a descrição da imagem aqui

PASSO 3) Selecione Android 4.3 (API 18) e instale os pacotes.

prayagupd
fonte
5

O que funcionou para mim no Android Studio (0.8.1):

  1. Clique com o botão direito no nome do projeto e abra as Configurações do Módulo
  2. Verifique as localizações do SDK SDK
  3. Verifique as versões do Gradle e do plug-in (analise as dicas das mensagens de erro para saber a versão adequada a ser usada) Gradke
  4. No módulo do aplicativo, defina a versão do Compile SDK para android-L (mais recente)
  5. Defina a versão do Build Tools para o maior valor disponível (no meu caso 20.0.0) Construir

Essas alterações por meio da IU fazem as alterações equivalentes representadas em outras respostas, mas é uma maneira melhor de proceder porque, ao fechar, todos os arquivos apropriados (atuais e futuros) serão atualizados automaticamente (o que é útil quando confrontado com os muitos lugares onde os problemas podem ocorrer )

NB: é muito importante revisar o Log de eventos e observar que o Android Studio fornece mensagens úteis sobre maneiras alternativas de resolver esses problemas.

Tommie C.
fonte
3

Obrigado RobertoAV96.

Voce é meu herói. Mas não é o suficiente. No meu caso, alterei compileSdkVersion e buildToolsVersion. Agora funciona. Espero que esta ajuda

buildscript {
       repositories {
           mavenCentral()
       }
       dependencies {
          classpath 'com.android.tools.build:gradle:0.6.+'
       }
   }
   apply plugin: 'android'

   dependencies {
       compile fileTree(dir: 'libs', include: '*.jar')
   }

   android {
       compileSdkVersion 19
       buildToolsVersion "19"

       sourceSets {
           main {
               manifest.srcFile 'AndroidManifest.xml'
               java.srcDirs = ['src']
               resources.srcDirs = ['src']
               aidl.srcDirs = ['src']
               renderscript.srcDirs = ['src']
               res.srcDirs = ['res']
               assets.srcDirs = ['assets']
           }

           // Move the tests to tests/java, tests/res, etc...
           instrumentTest.setRoot('tests')
           // Move the build types to build-types/<type>
           // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ..
           // This moves them out of them default location under src/<type>/... which would
           // conflict with src/ being used by the main source set.
           // Adding new build types or product flavors should be accompanied
           // by a similar customization.
           debug.setRoot('build-types/debug')
           release.setRoot('build-types/release')
       }
   }
Hoa Hoang
fonte
2

Se você teve o problema, abriu o gerenciador de SDK, instalou as atualizações solicitadas, voltou ao Android Studio e teve o problema novamente, RECOMENDA-SE REINICIAR O ANDROID STUDIO antes de tentar qualquer outra coisa.

O Gradle será executado automaticamente e provavelmente o seu problema estará resolvido. Muito provavelmente, você será informado de que instale o pacote SDK TOOLS apropriado, que pode ser encontrado em seu SDK MANAGER na segunda aba (sdk's não são o mesmo que sdk tools, eles são pacotes complementares).

Você nem precisa procurar o pacote de ferramentas. Se clicar no link abaixo da mensagem de erro, o Android Studio deve chamar o SDK Manager para instalar o pacote automaticamente.

Reinicie o Android Studio novamente e você deverá estar instalado e funcionando muito mais rápido do que se tentasse soluções alternativas.

REGRA DE POLEGAR> reinicie seu aplicativo antes de mexer com opções e configurações.

Tony Gil
fonte
1

Verifique o arquivo local.properties em seu projeto do Studio. Provavelmente, a propriedade sdk.dir aponta para a pasta errada se você tiver definido / configurado um SDK do Android anterior da era pré-estúdio. Essa foi a solução no meu caso.

Toni Menzel
fonte
0

Tive o mesmo problema ao experimentar o Android Studio. Eu já tinha projetos em execução no ADT no SDK 18. Não há necessidade de hackear os arquivos de manifesto.

Corrigido por:

export ANDROID_HOME = pathtobundle / adt-bundle-linux-x86_64-20130729 / sdk

Se você não tem o ADT instalado e deseja apenas o SDK, parece que uma boa solução é instalar tudo e apontar o Android Studio apenas para o SDK empacotado.

cd pathtobundle

wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20130729.zip

descompacte * .zip

Como outra pessoa disse, pode ser necessário executar o SDK Manager para instalar os pacotes desejados antes de executar o Studio.

Dturvene
fonte
0

Tive um problema semelhante quando tinha o Eclipse, o Android Studio e o Android SDK autônomo instalados (o problema residia em que o AVD Manager não conseguia encontrar as imagens de destino). Eu estava usando o Eclipse para o desenvolvimento do Android, mas mudei para o Android Studio e rapidamente descobri que o Android Studio não conseguia encontrar meus AVDs criados anteriormente.

O problema pode estar no fato de que o Android Studio está procurando seu próprio Android SDK (encontrado em C: \ Users \ username \ AppData \ Local \ Android \ android-studio \ sdk) e não um SDK autônomo instalado anteriormente, que eu instalei em C: \ adt \ sdk.

Renomear a pasta SDK do Android Studio, em C: \ Usuários ... (apenas renomeie, caso as coisas quebrem) e, em seguida, criar um link simbólico entre o local do SDK do Android Studio e um SDK do Android autônomo corrige esse problema.

Eu também usei a extensão Link Shell ( http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html ) apenas para tirar o tédio de criar links simbólicos.

deltafalcon
fonte
0

Isso também acontecerá se você tiver escrito, compileSdkVersion = 22por exemplo, (conforme usado no "novo" sistema de compilação do Android) em vez de compileSdkVersion 22.

nmr
fonte
0

Você pode resolver o problema alterando compileSdkVersion no arquivo Grandle.build de 18 para onde o SDK está instalado ..... BUTTTTT

  1. Se você está tentando voltar em versões do SDK como 18 a 17, você não pode usar o recurso disponível em 18 ou 18+

  2. Se você está migrando seu projeto (Eclipse para Android Studio) Então, claro, você não tem o arquivo build.gradle em seu projeto Eclipse existente

Portanto, a única solução é garantir a versão do SDK instalada ou não, que você pretende, se não instalar.

Erro: Causa: falha ao localizar o destino com a string hash 'android-19' em: C: \ Users \ setia \ AppData \ Local \ Android \ sdk

Gaurav Setia
fonte
0

O destino com a string hash 'android-18' corresponde ao SDK de nível 18. Você precisa instalar o SDK 18 do gerenciador do SDK.

Shreyas
fonte