web-dev-qa-db-fra.com

impossible de trouver la cible avec la chaîne de hachage Android-23

En essayant de compiler 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? Des questions similaires à celles-ci suggèrent de vérifier qu'Android 23 n'est pas installé, mais dans mon cas, il l'est.

Ci-dessous 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 modifier targetSdkVersion et compileSdkVersion à 22. Le message d'erreur était remplacé par "Android-22" au lieu de "Android-23". 

Gestionnaire de SDK:  enter image description here

85
Al Lelopath

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

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

Installez-le et tout devrait bien se passer

72
htafoya

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

21
Mohammed Ali

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 de départ utilisateur et un autre, où que l'emplacement de paiement se trouve pour osmdroid.

16
Al Lelopath

J'ai résolu le problème en ouvrant le gestionnaire de SDK Android et en installant les outils de génération pour toutes les versions 23.x.x. 

Voir la capture d'écran. 

 enter image description here

14
Radmation

Remarque: Je pense que cela pourrait être un bug dans Android Studio.

  1. Aller à la structure du projet
  2. Sélectionnez le module d'application
  3. Sous le premier onglet "Propriétés", modifiez la version du SDK de compilation en API XX 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.

Revenez maintenant à la version compilée de Sdk à Google API xx.

Si cela ne fonctionne pas, alors:

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

Après ces recommandations recommandées semblait fonctionner:

Astuce: ouvrez le gestionnaire de SDK en lançant:/chemin/vers/Android/outils/Android

Vous aurez besoin de: 1. "Plate-forme SDK" pour Android-23 2. "Outils de plate-forme de développement SDK Android (dernière).

3
Geremy

Si le même problème existait avec un autre numéro, cela fonctionnait pour moi:

  1. Cliquez sur le message d'erreur en haut "Echec de la synchronisation du projet Gradle" où le texte indique "Afficher le message ouvert"

  2. Dans la fenêtre "Message Gradle Sync" dans le coin inférieur gauche, cliquez sur la solution fournie "Installer les éléments manquants ...".

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

23:08 Échec de la synchronisation du dégradé: impossible de trouver la cible avec la chaîne de hachage 'Android-26' dans: C:\Utilisateurs\vik\AppData\Local\Android\Sdk

Le SDK Android fournit une solution dans le coin inférieur gauche  Android SDK providing a solution in the bottom left corner

3
Viktor H

Il y a 2 solutions à ce problème:

1) Téléchargez le SDK Android correspondant via Outils -> Android -> Gestionnaire de SDK -> Outils de SDK (assurez-vous que l'option "Afficher les détails du paquet") est cochée. Votre cas serait Android 6.0 (Marshmallow/API niveau 21)

2) Vous pouvez également ouvrir votre fichier build.gradle 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, vous devez également vous rappeler de mettre à jour la version de la bibliothèque de support Android si votre application l'utilise. Cela peut être trouvé dans la section dependencies de votre fichier de construction et ressemble à ceci:

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

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

2
Scott Barbour

Cela a fonctionné pour moi en changeant compileSdkVersion en 24 et targetSdkVersion en 24 et en changeant compile en com.Android.support:appcompat-v7:24.1.0

2
Akshat Gupta

Ouvrez le gestionnaire de SDK Android et mettez-le à jour.

1

Le mien se plaignait de 26. J'ai regardé dans mes dossiers et 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 (modifié ces nombres en v: 7 : 27.02). Cela a changé mon message d'erreur. Ensuite, j'ai ajouté buildToolsVersion "27.0.3" à la section du support Android juste sous compileSdkVersion.

Maintenant, le bouton make project fonctionne avec 0 message.

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

1
Neo42

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

1
KayV

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

1
Ilya Konnov

Outils> Android> Gestionnaire de SDK.

 enter image description here

1
CoolMind

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 dans des documents, puis cela a fonctionné.

1
user3288482

Rien n'a fonctionné pour moi. J'ai changé le chemin du SDK vers le nouvel emplacement et réinstallé le SDK. Son fonctionnement est parfait.

1
user1035292

Le problème est dû au fait que le code que vous exécutez a été créé à un niveau d'API plus ancien et que votre SDK Manager actuel ne prend pas en charge leur exécution . Essayez donc ce qui suit: 1.Installez le SDK Manager qui prend en charge. API niveau 23 . Accédez à> Gestionnaire de SDK,> SDK Android, puis sélectionnez l'API 23 et installez .. La deuxième alternative consiste à mettre à jour votre module d'application build.grade afin de changer CompileSdkVersion, compiler et autres numéros de votre API actuellement prise en charge niveau.

Remarque: assurez-vous de vérifier les numéros d'API et de révision et de les modifier exactement. sinon votre projet ne se synchronisera pas 

0
Kose

Mon ce problème est résolu après Run as administrator le Andorid Studio

0
PurTahan

Assurez-vous que IDE reconnaît que vous avez le paquet. Même après le téléchargement du fichier 28, je ne l'ai pas réinstallé, alors je l'ai réinstallé après avoir réalisé qu'il n'apparaissait pas dans File-Project Structure-Modules-App comme choix pour le SDK.

En plus de cela, vous voudrez peut-être modifier votre chemin de génération pour qu'il corresponde. 

Légèrement liées, les dernières mises à jour semblent pouvoir être compilées lorsque j'ai forcé intégralement une mise à jour à 28 pour CompileSDK, et pas seulement à la nouvelle exigence API de 26 minutes de Google Play. Ceci est cependant lié à des dépendances et pourrait ne pas affecter votre

0
Stephen J