falha ao encontrar o alvo com a string hash android-23

94

Ao tentar construir OpenStreetMapView a partir de git: //github.com/osmdroid/osmdroid, recebo este erro:

failed to find target with hash string android-23: D:\Users\myusername\AppData\Local\Android

Como posso consertar isso? Perguntas anteriores semelhantes a esta sugerem verificar se o android 23 não está instalado, mas no meu caso, está.

Abaixo estão algumas informações pertinentes:

ANDROID_HOME é D:\Users\myusername\AppData\Local\Android\sdk

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ contém o diretório \ android-23 \, (bem como android-19, android-21, android-22, android-MNC)

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "org.osmdroid.example"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 16
        versionName "4.4-SNAPSHOT"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'

    }
    lintOptions {
        abortOnError false
    }
}


dependencies {
    compile 'android.support:compatibility-v4:23+'
    compile project(':osmdroid-android')
    //compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}

Tentei alterar targetSdkVersion e compileSdkVersion para 22. Isso faz com que a mensagem de erro mude para "android-22" em vez de "android-23".

SDK Manager: insira a descrição da imagem aqui

Al Lelopath
fonte

Respostas:

79

No meu caso, limpar o caché não funcionou.

No SDK Manager, certifique-se de marcar a caixa em "mostrar descrições de pacotes" ; em seguida, você também deve selecionar "APIs do Google" para a versão que deseja instalar.

Instale e então você deve estar bem

Htafoya
fonte
2
Isso funcionou. Tive que baixar as ferramentas de compilação após o gerenciador do SDK terminar, mas definitivamente não precisava excluir a pasta .gradle ou invalidar o cache.
Bill Mote
Obrigado! Funcionou bem.
carlodonz 01 de
22

No Android Studio File -> Invalidate Caches/Restartresolveu o problema para mim.

Mohammed Ali
fonte
1
É apenas uma melhoria na resposta de @AlLelopath.
Mohammed Ali
18

A resposta a esta pergunta .

O Gradle fica estúpido de vez em quando e limpar o cache foi a única solução que encontrei. Você encontrará uma pasta oculta .gradle em sua pasta inicial do usuário e outra onde quer que o local de checkout seja para osmdroid.

Al Lelopath
fonte
3
Apaguei as pastas, restaurei e ainda está tendo o problema
htafoya
13

Corrigi o problema para mim abrindo o Android SDK Manager e instalando as ferramentas de compilação para todas as versões 23.xx.

Veja a imagem.

insira a descrição da imagem aqui

Radmation
fonte
Isso foi o suficiente! (usando Deco no mac) Obrigado!
JeremyF
5

Nota: acho que isso pode ser um bug no Android Studio.

  1. Vá para a Estrutura do Projeto
  2. Selecione o Módulo de Aplicativo
  3. Na primeira guia "Propriedades", altere a versão do Compile SDK para API XX da API xx do Google (por exemplo, API 23 em vez de API 23 do Google)
  4. pressione OK
  5. Aguarde a conclusão do processo em andamento, no meu caso não recebi nenhum erro neste momento.

Agora reverta Compiled Sdk Version de volta para Google API xx.

Se isso não funcionar, então:

  1. Com a API do Google (Google API xx em vez de API xx), diminua a versão da ferramenta de compilação (por exemplo, API 23 do Google e versão 23.0.1 da ferramenta de compilação)
  2. Pressione Ok e aguarde a conclusão do processo em andamento
  3. Reverta a versão da sua ferramenta de compilação para o que era antes de você mudar
  4. Pressione OK
  5. Aguarde a conclusão do processo.
  6. Feito!
Sagar Patel
fonte
3

Seguir essas instruções recomendadas pareceu funcionar:

Dica: abra o gerenciador do SDK executando: / path / to / android / tools / android

Você precisará de: 1. "SDK Platform" para android-23 2. "Android SDK Platform-tools (mais recente) 3." Android SDK Build-tools "(mais recente)

Geremy
fonte
3

Tive o mesmo problema com outro número, isso funcionou para mim:

  1. Clique na mensagem de erro na parte superior "Falha na sincronização do projeto Gradle", onde o texto diz "Abrir visualização de mensagem"

  2. Na janela "Message Gradle Sync" no canto inferior esquerdo, clique na solução fornecida "Install missing ..."

  3. Repita 1 e 2 se necessário

23:08 Falha de sincronização do Gradle: falha ao encontrar o destino com a string hash 'android-26' em: C: \ Users \ vik \ AppData \ Local \ Android \ Sdk

Android SDK fornece uma solução no canto esquerdo inferior Android SDK fornece uma solução no canto esquerdo inferior

ViktorMS
fonte
Adicione mais informações caso o link da sua imagem desapareça, para que outras pessoas possam seguir a resposta mesmo depois que o link morrer.
Dessus
2

Funcionou para mim mudando compileSdkVersionpara 24 e targetSdkVersion24 e mude compileparacom.android.support:appcompat-v7:24.1.0

Akshat Gupta
fonte
2

Existem 2 soluções para este problema:

1) Baixe o Android SDK relevante por meio de Ferramentas -> Android -> SDK Manager -> Ferramentas do SDK (certifique-se de ter 'Mostrar detalhes do pacote') marcado. Seu caso seria Android 6.0 (Marshmallow / API de nível 21)

2) Como alternativa, abra seu build.gradlearquivo e atualize os seguintes atributos:

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

para a versão mais recente da API do Android que você instalou / outra versão instalada que você gostaria de usar (embora eu sempre recomende ir com a versão mais recente pelos motivos usuais: correções de bugs etc.)

Se você estiver seguindo a etapa 2, também é importante lembrar de atualizar a versão da biblioteca de suporte do Android se seu aplicativo a estiver usando. Isso pode ser encontrado na dependenciesseção de seu arquivo de compilação e se parece com isto:

compile 'com.android.support:appcompat-v7:27.0.2'

(substitua 27.0.2pela versão mais recente da biblioteca de suporte para o nível de API que você pretende usar com seu aplicativo)

Scott Barbour
fonte
1

Abra o Android SDK Manager e atualize com o mais recente.

Biswajit Karmakar
fonte
1

Nada funcionou para mim. Mudei o caminho do SDK para o novo local do SDK e reinstalei o SDK. Está funcionando perfeitamente.

user1035292
fonte
1

Ferramentas> Android> SDK Manager.

insira a descrição da imagem aqui

CoolMind
fonte
Normalmente não sou fã da resposta concisa, mas isso é muito bem feito. Resolvido tudo para mim.
Le Mot Juiced
Obrigado, @LeMotJuiced.
CoolMind
1

Eu tive esse problema ao usar o Windows. Descobri que a localização do SDK em meus perfis era o problema. Então, eu tive que realocar minha pasta SDK para documentos e então funcionou.

user3288482
fonte
1

O meu estava reclamando de 26. Eu olhei em minhas pastas e encontrei uma pasta para 27, mas não 26. Então eu modifiquei meu arquivo build.gradle, substituindo 26 por 27. compileSdkVersion, targetSdkVersion e implementação (alterei esses números para v: 7 : 27.02). Isso mudou minha mensagem de erro. Em seguida, adicionei buildToolsVersion "27.0.3" à seção de suporte do Android logo abaixo de compileSdkVersion.

Agora o botão criar projeto funciona com 0 mensagens.

A seguir, como realmente selecionar um módulo em minha configuração para que eu possa executar isso.

Neo42
fonte
1

Para mim, o problema foi que escrevi compileSdkVersion '23' em vez de 23. As aspas eram o problema.

Konnovdev
fonte
1

Baixe a versão específica do Android no link especificado no console de construção.

KayV
fonte
1

Este problema é resolvido para mim após Run as administratoroAndorid Studio

PurTahan
fonte
0

O problema é causado porque o código que você está executando foi criado em um nível de API mais antigo, e seu SDK Manager atual não oferece suporte à sua execução. Portanto, tente o seguinte; 1.Instale o SDK Manager compatível com API de nível 23. Vá para> SDK Manager> Android SDK, selecione API 23 e instale. 2.segunda alternativa é atualizar seu módulo de app build.grade para alterar compileSdkVersion, compile e outros números para o nível de API atualmente suportado.

Nota: certifique-se de verificar os números da API e da revisão e alterá-los exatamente. caso contrário, Seu projeto não sincronizará

Kose
fonte
0

Certifique-se de que o IDE reconhece que você possui o pacote. Não funcionou no meu mesmo depois de baixar o 28, então desinstalei e reinstalei depois de perceber que não estava aparecendo em Arquivo-Projeto-Estrutura-Módulos-App como uma opção para SDK.

Além disso, você pode querer alterar seu caminho de construção para corresponder.

Ligeiramente relacionado, as atualizações mais recentes parecem capazes de compilar quando eu forcei uma atualização até 28 para CompileSDK, e não apenas até o novo requisito de 26 min da API do Google Play. Porém, isso está relacionado às dependências e pode não afetar o seu

Stephen J
fonte