impossibile trovare il target con la stringa hash android-23


94

Quando provo a creare OpenStreetMapView da git: //github.com/osmdroid/osmdroid, ottengo questo errore:

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

Come posso risolvere questo problema? Domande precedenti simili a questa suggeriscono di verificare che Android 23 non sia installato, ma nel mio caso lo è.

Di seguito sono riportate alcune informazioni pertinenti:

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

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ contiene la directory \ android-23 \, (oltre ad 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'
}

Ho provato a cambiare targetSdkVersion e compileSdkVersion a 22. In questo modo il messaggio di errore cambia in "android-22" invece di "android-23".

SDK Manager: inserisci qui la descrizione dell'immagine

Risposte:


79

Nel mio caso, la cancellazione della cache non ha funzionato.

In SDK Manager, assicurati di selezionare la casella "mostra le descrizioni dei pacchetti" ; quindi dovresti anche selezionare le "API di Google" per la versione che desideri installare.

Installalo e poi dovresti essere a posto


2
Questo ha funzionato. Ho dovuto scaricare gli strumenti di compilazione al termine del gestore SDK, ma sicuramente non è stato necessario eliminare la cartella .gradle o invalidare la cache.
Bill Mote

Grazie! Ha funzionato bene.
carlodonz

22

In Android Studio ha File -> Invalidate Caches/Restartrisolto il problema per me.


1
È solo un miglioramento rispetto alla risposta di @AlLelopath.
Mohammed Ali

18

La risposta a questa domanda .

Gradle diventa stupido di tanto in tanto e cancellare la cache è l'unica soluzione che ho trovato. Troverai una cartella .gradle nascosta nella cartella home dell'utente e un'altra ovunque si trovi la posizione di checkout per osmdroid.


3
Ho cancellato le cartelle, ripristinato e il problema
persiste

13

Ho risolto il problema aprendo Android SDK Manager e installando gli strumenti di compilazione per tutte le versioni 23.xx.

Guarda lo screenshot.

inserisci qui la descrizione dell'immagine


È stato così! (utilizzando Deco su mac) Grazie!
JeremyF

5

Nota: penso che questo potrebbe essere un bug in Android Studio.

  1. Vai a Struttura del progetto
  2. Seleziona Modulo app
  3. Nella prima scheda "Proprietà" modifica la versione dell'SDK di compilazione in API XX da Google API xx (ad es. API 23 invece di Google API 23)
  4. premere OK
  5. Attendi il completamento del processo in corso, nel mio caso non ho ricevuto alcun errore a questo punto.

Ora ripristina la versione Sdk compilata su Google API xx.

Se questo non funziona, allora:

  1. Con Google API (Google API xx invece di API xx), abbassa la versione dello strumento di compilazione (ad es. Google API 23 e versione dello strumento di compilazione 23.0.1)
  2. Premere Ok e attendere il completamento del processo in corso
  3. Ripristina la versione dello strumento di compilazione a quella che era prima della modifica
  4. Premere OK
  5. Attendi il completamento del processo.
  6. Fatto!

3

Seguire queste indicazioni consigliate sembrava funzionare:

Suggerimento: apri il gestore SDK eseguendo: / path / to / android / tools / android

Avrai bisogno di: 1. "Piattaforma SDK" per Android-23 2. "Strumenti della piattaforma SDK Android (più recenti) 3." Strumenti di compilazione SDK Android "(più recenti)


3

Ho avuto lo stesso problema con un altro numero, questo ha funzionato per me:

  1. Fai clic sul messaggio di errore in alto "Sincronizzazione del progetto Gradle non riuscita" dove il testo dice "Apri visualizzazione messaggio"

  2. Nella finestra "Message Gradle Sync" nell'angolo inferiore sinistro, fai clic sulla soluzione fornita "Installa mancante ..."

  3. Ripeti 1 e 2 se necessario

23:08 Sincronizzazione Gradle non riuscita: impossibile trovare il target con la stringa hash "android-26" in: C: \ Users \ vik \ AppData \ Local \ Android \ Sdk

Android SDK che fornisce una soluzione nell'angolo in basso a sinistra Android SDK che fornisce una soluzione nell'angolo in basso a sinistra


Si prega di aggiungere ulteriori informazioni nel caso in cui il collegamento dell'immagine scompaia, in modo che altri possano seguire la risposta anche una volta che il collegamento scompare.
Dessus

2

Ha funzionato per me passando compileSdkVersiona 24 e targetSdkVersiona 24 e passare compileacom.android.support:appcompat-v7:24.1.0


2

Esistono 2 soluzioni a questo problema:

1) Scarica l'SDK Android pertinente tramite Strumenti -> Android -> Gestione SDK -> Strumenti SDK (assicurati di aver selezionato "Mostra dettagli pacchetto"). Il tuo caso sarebbe Android 6.0 (Marshmallow / API livello 21)

2) In alternativa, apri il tuo build.gradlefile e aggiorna i seguenti attributi:

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

o alla versione più recente dell'API Android che hai installato / un'altra versione installata che desideri utilizzare (anche se consiglio sempre di utilizzare l'ultima versione per i soliti motivi: correzioni di bug ecc.)

Se stai seguendo il passaggio 2, è anche importante ricordare di aggiornare la versione della libreria di supporto di Android se la tua app la utilizza. Questo può essere trovato nella dependenciessezione del tuo file di build e assomiglia a questo:

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

(sostituire 27.0.2con la versione della libreria di supporto più recente per il livello di API che intendi utilizzare con la tua app)



1

Niente ha funzionato per me. Ho cambiato il percorso dell'SDK nella nuova posizione dell'SDK e ho reinstallato l'SDK, che funziona perfettamente.


1

Strumenti> Android> SDK Manager.

inserisci qui la descrizione dell'immagine


Di solito non sono un fan della risposta concisa, ma questo è fatto magnificamente. Ha risolto tutto per me.
Le Mot Juiced

Grazie, @LeMotJuiced.
CoolMind

1

Ho avuto questo problema durante l'utilizzo di Windows. Si è scoperto che il problema era la posizione dell'SDK nei miei profili. Quindi ho dovuto spostare la mia cartella SDK in documenti e poi ha funzionato.


1

Il mio si lamentava di 26. Ho guardato nelle mie cartelle e ho trovato una cartella per 27, ma non 26. Quindi ho modificato il mio file build.gradle, sostituendo 26 con 27. compileSdkVersion, targetSdkVersion e implementazione (ho cambiato quei numeri in v: 7 : 27.02). Questo ha cambiato il mio messaggio di errore. Quindi ho aggiunto buildToolsVersion "27.0.3" alla sezione staffa Android proprio sotto compileSdkVersion.

Ora il pulsante crea progetto funziona con 0 messaggi.

Successivamente, come selezionare effettivamente un modulo nella mia configurazione in modo da poterlo eseguire.


1

Per me il problema era che scrivevo compileSdkVersion "23" invece di 23. Il problema erano le virgolette.


1

Scarica la versione Android specifica dal collegamento specificato nella console di build.


1

Questo problema è stato risolto per me dopo Run as administratorilAndorid Studio


0

Il problema è causato dal fatto che il codice in esecuzione è stato creato in un livello API precedente e l'attuale SDK Manager non supporta l'esecuzione di tali codici. Quindi prova quanto segue; 1. Installa SDK Manager che supporta il livello API 23. Vai a> SDK Manager,> Android SDK, quindi seleziona API 23 e installa. 2.La seconda alternativa è aggiornare il modulo dell'app build.grade per modificare compileSdkVersion, compilazione e altri numeri al livello API attualmente supportato.

Nota: assicurati di controllare l'API e i numeri di revisione e di cambiarli esattamente. altrimenti il ​​tuo progetto non si sincronizzerà


0

Assicurati che l'IDE riconosca che hai il pacchetto. Non era sul mio anche dopo aver scaricato 28, quindi l'ho disinstallato e reinstallato dopo aver realizzato che non veniva visualizzato in File-Project Structure-Modules-App come scelta per SDK.

Inoltre, potresti voler cambiare il tuo percorso di build in modo che corrisponda.

Leggermente correlato, gli ultimi aggiornamenti sembrano in grado di essere compilati quando ho forzato un aggiornamento fino a 28 per CompileSDK, e non solo fino al nuovo requisito di 26 minuti API da Google Play. Ciò è tuttavia correlato alle dipendenze e potrebbe non influire sulle tue

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.