n'a pas réussi à trouver la cible avec la chaîne de hachage android-23

94

Lorsque j'essaie de créer OpenStreetMapView à partir de git: //github.com/osmdroid/osmdroid, j'obtiens cette erreur:

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

Comment puis-je réparer cela? Les questions précédentes similaires à celle-ci suggèrent de vérifier qu'android 23 n'est pas installé, mais dans mon cas, c'est le cas.

Voici quelques informations pertinentes:

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

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ contient le répertoire \ android-23 \, (ainsi que 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'
}

J'ai essayé de changer targetSdkVersion et compileSdkVersion en 22. Cela fait changer le message d'erreur en "android-22" au lieu de "android-23".

Gestionnaire de SDK: entrez la description de l'image ici

Al Lelopath
la source

Réponses:

79

Dans mon cas, effacer le caché n'a pas fonctionné.

Sur SDK Manager, assurez-vous de cocher la case "Afficher les descriptions des packages" ; Ensuite, vous devez également sélectionner les "API Google" pour la version que vous souhaitez installer.

Installez-le et vous devriez être d'accord

htafoya
la source
2
Cela a fonctionné. J'ai dû télécharger les outils de construction une fois le gestionnaire de SDK terminé, mais je n'ai certainement pas besoin de supprimer le dossier .gradle ou d'invalider le cache.
Bill Mote
Je vous remercie! A bien fonctionné.
carlodonz
22

Dans Android Studio a File -> Invalidate Caches/Restartrésolu le problème pour moi.

Mohammed Ali
la source
1
C'est juste une amélioration de la réponse de @AlLelopath.
Mohammed Ali
18

La réponse à cette question .

Gradle devient stupide de temps en temps et effacer le cache est la seule solution que j'ai trouvée. Vous trouverez un dossier .gradle caché sous votre dossier d'accueil utilisateur et un autre là où se trouve l'emplacement de paiement pour osmdroid.

Al Lelopath
la source
3
J'ai effacé les dossiers, remis à jour et le problème persiste
htafoya
13

J'ai résolu le problème pour moi en ouvrant le gestionnaire de SDK Android et en installant les outils de compilation pour toutes les versions 23.xx.

Voir la capture d'écran.

entrez la description de l'image ici

Radmation
la source
Cela l'a fait! (en utilisant Deco sur mac) Merci!
JeremyF
5

Remarque: je pense que cela pourrait être un bogue dans Android Studio.

  1. Aller à la structure du projet
  2. Sélectionnez le module d'application
  3. Sous le premier onglet "Propriétés", changez la version du SDK de compilation en API XX à partir de Google API xx (par exemple, API 23 au lieu de Google API 23)
  4. appuyer sur OK
  5. Attendez la fin du processus en cours, dans mon cas, je n'ai pas eu d'erreur à ce stade.

Maintenant, rétablissez la version Sdk compilée à Google API xx.

Si cela ne fonctionne pas, alors:

  1. Avec Google API (Google API xx au lieu de l'API xx), abaissez la version de l'outil de construction (par exemple, Google API 23 et la version de l'outil de construction 23.0.1)
  2. Appuyez sur Ok et attendez la fin du processus en cours
  3. Rétablissez la version de votre outil de construction à ce qu'elle était avant la modification
  4. Appuyer sur OK
  5. Attendez la fin du processus.
  6. Terminé!
Sagar Patel
la source
3

Suivre ces instructions recommandées semblait fonctionner:

Astuce: ouvrez le gestionnaire de SDK en exécutant: / path / to / android / tools / android

Vous aurez besoin de: 1. "SDK Platform" pour android-23 2. "Android SDK Platform-tools (dernier) 3." Android SDK Build-tools "(dernier)

Geremy
la source
3

J'ai eu le même problème avec un autre numéro, cela a fonctionné pour moi:

  1. Cliquez sur le message d'erreur en haut «Échec de la synchronisation du projet Gradle» où le texte indique «Ouvrir la vue du message»

  2. Dans la fenêtre "Message Gradle Sync" dans le coin inférieur gauche, cliquez sur la solution fournie "Install missing ..."

  3. Répétez 1 et 2 si nécessaire

23:08 Échec de la synchronisation Gradle: Impossible de trouver la cible avec la chaîne de hachage 'android-26' dans: C: \ Users \ vik \ AppData \ Local \ Android \ Sdk

SDK Android fournissant une solution dans le coin inférieur gauche SDK Android fournissant une solution dans le coin inférieur gauche

ViktorMS
la source
Veuillez ajouter plus d'informations dans le cas où votre lien d'image disparaîtrait, afin que d'autres puissent suivre la réponse même une fois le lien mort.
Dessus
2

Cela a fonctionné pour moi en passant compileSdkVersionà 24 et targetSdkVersion24 et compileàcom.android.support:appcompat-v7:24.1.0

Akshat Gupta
la source
2

Il existe 2 solutions à ce problème:

1) Téléchargez le SDK Android correspondant via Outils -> Android -> SDK Manager -> SDK Tools (assurez-vous d'avoir coché `` Afficher les détails du package ''). Votre cas serait Android 6.0 (Marshmallow / API niveau 21)

2) Vous pouvez également ouvrir votre build.gradlefichier et mettre à jour les attributs suivants:

  • compileSdkVersion
  • buildToolsVersion
  • targetSdkVersion

soit à la version la plus récente de l'API Android que vous avez installée / à une autre version installée que vous souhaitez utiliser (bien que je recommande toujours d'utiliser la dernière version pour les raisons habituelles: corrections de bogues, etc.)

Si vous suivez l'étape 2, il est également important de ne pas oublier de mettre à jour la version de la bibliothèque de support Android si votre application l'utilise. Cela peut être trouvé dans la dependenciessection de votre fichier de construction et ressemble à ceci:

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

(remplacez 27.0.2par la version la plus récente de la bibliothèque de support pour le niveau d'API que vous prévoyez d'utiliser avec votre application)

Scott Barbour
la source
1

Ouvrez le gestionnaire de SDK Android et mettez à jour avec la dernière version.

Biswajit Karmakar
la source
1

Rien n'a fonctionné pour moi. J'ai changé le chemin du SDK vers le nouvel emplacement du SDK et réinstallé le SDK. Cela fonctionne parfaitement.

utilisateur1035292
la source
1

Outils> Android> Gestionnaire de SDK.

entrez la description de l'image ici

CoolMind
la source
Je ne suis généralement pas fan de la réponse laconique, mais c'est magnifiquement fait. Tout résolu pour moi.
Le Mot Juiced
Merci, @LeMotJuiced.
CoolMind
1

J'ai eu ce problème lors de l'utilisation de Windows. Il s'est avéré que l'emplacement du SDK dans mes profils était le problème. J'ai donc dû déplacer mon dossier SDK vers des documents, puis cela a fonctionné.

user3288482
la source
1

Le mien se plaignait de 26. J'ai regardé dans mes dossiers et j'ai trouvé un dossier pour 27, mais pas pour 26. J'ai donc modifié mon fichier build.gradle, en remplaçant 26 par 27. compileSdkVersion, targetSdkVersion et implémentation (changé ces nombres en v: 7 : 27.02). Cela a changé mon message d'erreur. Ensuite, j'ai ajouté buildToolsVersion "27.0.3" à la section Android bracket juste sous compileSdkVersion.

Maintenant, le bouton Créer un projet fonctionne avec 0 messages.

Ensuite, comment sélectionner un module dans ma configuration pour que je puisse l'exécuter.

Neo42
la source
1

Pour moi, le problème était que j'ai écrit compileSdkVersion '23' au lieu de 23. Les citations étaient le problème.

konnovdev
la source
1

Téléchargez la version Android spécifique à partir du lien spécifié dans la console de compilation.

KayV
la source
1

Ce poblème est résolu pour moi après Run as administratorleAndorid Studio

PurTahan
la source
0

Le problème est dû au fait que le code que vous exécutez a été créé dans un niveau d'API plus ancien et que votre gestionnaire de SDK actuel ne prend pas en charge leur exécution. Alors essayez ce qui suit; 1.Installez le SDK Manager qui prend en charge le niveau d'API 23. Accédez à> SDK Manager,> Android SDK, puis sélectionnez l'API 23 et installez. 2. la deuxième alternative consiste à mettre à jour votre module d'application build.grade pour modifier compileSdkVersion, compile et d'autres nombres au niveau d'API actuellement pris en charge.

Remarque: veuillez vous assurer de vérifier l'API et les numéros de révision et de les modifier exactement. sinon Votre projet ne se synchronisera pas

Kose
la source
0

Assurez-vous que l'EDI reconnaît que vous disposez du package. Il n'était pas sur le mien même après le téléchargement de 28, donc je l'ai désinstallé puis réinstallé après avoir réalisé qu'il n'apparaissait pas sous File-Project Structure-Modules-App comme choix pour le SDK.

En plus de cela, vous souhaiterez peut-être modifier votre chemin de construction pour qu'il corresponde.

Légèrement liées, les dernières mises à jour semblent capables de se compiler lorsque j'ai forcé une mise à jour jusqu'à 28 pour CompileSDK, et pas seulement jusqu'à la nouvelle exigence API de 26 minutes de Google Play. Ceci est lié aux dépendances et peut ne pas affecter les vôtres

Stephen J
la source