web-dev-qa-db-fra.com

Erreur: Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe: llvm

Je veux compiler un projet Android open source (Netguard) à l'aide de gradel (gradlew clean build). Mais j'ai rencontré cette erreur:

A problem occurred configuring project ':app'.
> Exception thrown while executing model rule: NdkComponentModelPlugin.Rules#cre
ateToolchains
   > No toolchains found in the NDK toolchains folder for ABI with prefix: llvm

Je cherchais mais je ne trouvais rien d'aider. Voici le build.gradle principal:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle-experimental:0.6.0-alpha1'
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

Et voici le build.gradle du projet app:

apply plugin: 'com.Android.model.application'

model {
    Android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            applicationId = "eu.faircode.netguard"
            minSdkVersion.apiLevel = 21
            targetSdkVersion.apiLevel = 23
            versionCode = 2016011801
            versionName = "0.76"
            archivesBaseName = "NetGuard-v$versionName-$versionCode"
        }
    }
    Android.ndk {
        moduleName = "netguard"
        toolchain = "clang"
        ldLibs.add("log")
    }
    Android.sources {
        main {
            jni {
                source {
                    srcDir "src/main/jni/netguard"
                }
                exportedHeaders {
                }
            }
        }
    }
    Android.buildTypes {
        release {
            minifyEnabled = true
            proguardFiles.add(file('proguard-rules.pro'))
            ndk.with {
                debuggable = true
            }
        }
    }
    Android.buildTypes {
        debug {
            ndk.with {
                debuggable = true
            }
        }
    }
    Android.productFlavors {
        create("all") {
        }
    }
}

dependencies {


compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:23.1.+'
    compile 'com.Android.support:recyclerview-v7:23.1.+'
    compile 'com.squareup.picasso:picasso:2.5.+'
}

Et j'utilise gradle-2.9-all et Android-ndk-r10e. Je ne sais pas si je devrais mentionner autre chose, alors commentez si vous avez besoin d'informations.

149
Saeed

Deux ans ont passé, maintenant si vous tombez sur ici, vous pouvez éventuellement rencontrer un message d'erreur comme celui-ci:

Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe mips64el-linux-Android

ou 

Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe mipsel-linux-Android

Le dernier NDK a supprimé la prise en charge de mips abi, et la version plus récente du plugin Android Gradle vérifie toujours l’existence de la chaîne de fonctions mips. voir ici pour plus d'infos .

Solution: Mettez à niveau le plugin Android Gradle vers la version 3.1 ou plus récente.

par exemple. Ajouter les suivants dans le niveau de projet [28-sept-2018]

 classpath "com.Android.tools.build:gradle:3.2.0"

Solution de contournement: Créez une structure de dossiers mipsel-linux-Android pour tromper l'outil. Le moyen le plus simple serait de créer un lien symbolique vers aarch64-linux-Android-4.9.

# on Mac
cd  ~/Library/Android/sdk/ndk-bundle/toolchains
ln -s aarch64-linux-Android-4.9 mips64el-linux-Android
ln -s arm-linux-androideabi-4.9 mipsel-linux-Android

Vérifiez ce fil de trois options pour résoudre ce genre de problème

275
lazybug

J'ai corrigé cette erreur en désinstallant le NDK dans SDK-Tools ..__ Donc, si vous n'avez pas besoin du NDK, désinstallez-le.

48
Herzi

Pour Android studio 3.2.1+

Mettez à jour votre plugin Gradle

classpath 'com.Android.tools.build:gradle:3.2.1'

et voir l'erreur magique parti.

Bonne codage - :)

48
Nikunj Paradva

J'ai rencontré le même problème lors de la mise à jour du studio Android 2.0 à 2.1 sous Windows 8.

J'ai trouvé une solution pour cela. Merci de suivre les étapes suivantes.

  1. Téléchargez le NDK Android pour Windows à partir de https://developer.Android.com/ndk/downloads/index.html .
  2. Extrayez-le et copiez le dossier "toolchain" du paquet.
  3. Collez le dossier sous le dossier NDK installé sous C:\Android-sdk-win\ndk-bundle. [Le chemin d'installation peut varier en fonction de votre installation]
  4. Redémarrez le studio Android.

Cela se produit car le studio Android n'obtiendra pas une mise à jour complète de NDK dans le canal stable. Si vous n'utilisez pas NDK pour le développement de votre projet, vous pouvez simplement supprimer le dossier NDK de votre répertoire SDK. 

34
Nithinjith

Message d'erreur: «Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe: llvm».

Après une nouvelle installation Web d'Android Studio avec NDK, j'ai importé un exemple de code Android qui utilisait NDK de GitHub et j'ai essayé de le compiler. 

En conséquence eu une erreur:

Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe: llvm

Solution: Pour certaines raisons, le processus d’installation standard sous macOS n’a pas réussi à installer un jeu complet: 

~/Library/Android/sdk/ndk-bundle avait manqué le dossier toolchains avec tous les outils,

(ça devrait être comme ça: ~/Library/Android/sdk/ndk-bundle/toolchains)

La solution consistait à télécharger NDK séparément, à l'ouvrir, à copier le dossier toolchain et à le coller dans le dossier suivant:

~/Library/Android/sdk/ndk-bundle

Après ça a bien fonctionné pour moi.

29
user6427706

Pas à pas:

1) Ouvrez la page avec les anciennes versions NDK

https://developer.Android.com/ndk/downloads/older_releases

 enter image description here

2) Convenez des conditions: 

 enter image description here

3) Téléchargez l'ancienne version de NDK (par exemple 16b):

 enter image description here

4) Ouvrez votre répertoire toolchains

5) Transférez les fichiers dont vous avez besoin du dossier toolchains du fichier ZIP téléchargé vers votre dossier toolchains

 enter image description here

6) Reconstruire le projet: 

 enter image description here


UPD 30 sept. 2018:
J'ai utilisé Android NDK Revision r16b pour corriger cette erreur dans mon cas. Je présente donc l'exemple avec cette version.
Mais il vaut mieux utiliser le NDK Android, révision r17c (juin 2018). C'est le dernier, supportant mips (recommandation raisonnable du commentaire de Weekend).

21
V.March

Sans télécharger, copier ou créer de lien symbolique, j'ai pu "réparer" l'erreur en créant simplement un répertoire vide dans lequel l'ancienne version du plugin Android Gradle attend la chaîne d'outils mips supprimée:

mkdir -p $Android_HOME/ndk-bundle/toolchains/mips64el-linux-Android/prebuilt/linux-x86_64

De toute évidence, $Android_HOME pointe ici vers la racine de l'installation du SDK Android. Si vous utilisez MacOS , remplacez linux-x86_64 par darwin-x86_64 dans la commande ci-dessus. Sous Windows, utilisez windows-x86_64.

13
friederbluemle

J'ai désinstallé le NDK car je n'en avais pas besoin. Accédez au gestionnaire de SDK sur le studio Android (Outils -> Android -> Gestionnaire de SDK). Si NDK est installé. Décochez simplement la case et cliquez sur OK. Les composants installés seront supprimés. 

9
diptia

Dans mon cas, cette erreur s’est produite lors de la création d’un nouveau Android Studio (Android studio 3.2.1) Projet Java avec

    classpath 'com.Android.tools.build:gradle:2.0.0-beta6'

Donc je suis rétrogradé à

       dependencies {
        classpath 'com.Android.tools.build:gradle:3.2.1'
      }

La meilleure solution ne reste pas dans une ancienne version, mais peut-être n’est-ce qu’un bogue temporaire dans la bêta, car le chemin NDK dans local.properties est toujours le même, mais le IDE ne se plaint pas plus

7
Marian Klühspies

Android NDK 18.0 * semble avoir un problème ne pas créer tous les fichiers dans les dossiers après l'extraction. En raison de cela, la compilation de votre application échouera, car elle utilise les versions ndk.

Mieux vaut utiliser NDK 17.1 * ( https://developer.Android.com/ndk/downloads/ ) etc., et vous pourrez extraire ou utiliser l'extraction de studio Android vers ndk-bundle par défaut fonctionnera correctement.

6
appapurapu

[ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/Android][1]

Pour les personnes essayant cet exemple et confrontées à des problèmes avec le dernier NDK. Peut suivre cette solution . Dans build.gradle Changer ceci

classpath 'com.Android.tools.build:gradle:3.0.1'

À

classpath 'com.Android.tools.build:gradle:3.1.2'

La raison en est que les mips sont obsolètes dans les dernières versions de ndk, Gradle version 3.1.2 n'aura aucune contrainte pour les mips. Cela suppose la présence de ces dossiers manquants. 

4
Sujit Royal

Ouvrez Android Studio, allez dans Outils puis Android et SDK, décochez NDK Si vous n'en avez pas besoin et redémarrez Android Studio.

4
Muhammad Bilal

Dans votre fichier Gradle au niveau du projet, augmentez les dépendances version de chemin de classe faible à élevée comme

dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.0'
    }

changer comme 

dependencies {
        classpath 'com.Android.tools.build:gradle:3.2.1'
    }
3
Karthikrider

J'ai eu un problème similaire, mais je voulais utiliser NDK version r9d en raison des exigences du projet.

Dans local.properties, le chemin était défini sur ndk.dir=C\:\\Android\\ndk\\Android-ndk-r9d, mais le problème était le suivant:

Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe: [nom de la chaîne d'outils]

La solution était de:

  1. Installer le dernier NDK en utilisant sdk manager
  2. Copiez la chaîne d'outils [nom de chaîne d'outils] manquante du nouveau ndk vers l'ancien. Dans mon cas du sdk\ndk-bundle\toolchains au \ndk\Android-ndk-r9d\toolchains
  3. Répétez le processus jusqu'à ce que toutes les chaînes d'outils nécessaires sont là

Il me semble que les chaînes d’outils copiées ne sont pas utilisées, mais qu’elles soient nécessaires pour une raison quelconque.

2
Marcin Kunert

NOTE: Cette réponse semble être spécifique à: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-Android, mais elle était liée ici par:

* https://stackoverflow.com/questions/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l

De NDK r19b:

more ~/Android/Sdk/ndk-bundle/CHANGELOG.md
  • Cette version du NDK est incompatible avec le plugin Android Gradle Version 3.0 ou antérieure. Si vous voyez une erreur du type No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-Android, Mettez à jour votre fichier de projet en [utilisez le plugin version 3.1 ou plus récent]. Vous aurez également besoin de passer à Android Studio 3.1 ou plus récent.
2
nikc

Pour le réparer comme je l'ai fait

Android Studio Fichier> Structure du projet et aller au projet

changer la version de Gradle à la version 4.6 & Android à la version 3.2.1

vérifier la capture d'écran

puis nettoyez le projet si vous avez cette erreur "Impossible de trouver aapt2-proto.jar"

aller à build.gradle (projet)

Essayez de déplacer la méthode google () (fichier .gradle) en haut de son bloc d'exécution L'ordre des référentiels dans lesquels il effectue la recherche, ce qui cause le problème.

par exemple, changez ceci:

repositories {
  maven { url 'https://maven.fabric.io/public' }
  google()      <===  from here
  mavenCentral()
}

Pour ça:

repositories {
  google()     <===  to here
  maven { url 'https://maven.fabric.io/public' }
  mavenCentral()
}

Apportez ces modifications dans "buildscript" et "allprojects"

vérifier la capture d'écran

Si vous n'avez pas trouvé google () l'ajouter

2
Bachlil

J'ai résolu cette question par unInstall NDK, parce que je n'en ai pas besoin

2
alpha

Pour Android Studio 3.2.1 Mettez à jour votre 

Gradle Version 4.6

Version du plugin Android 3.2.1

2
Masum

Le problème survient principalement lorsque vous clonez un projet précédent spécialement à partir de github. Ce que tu peux faire c'est

  1. Changez le classpath en 

classpath 'com.Android.tools.build:gradle:3.2.1'

dans votre niveau de projet.

  1. Puis, modifiez toutes les instances de compilation avec implémentation, à l'exception de compileSdkVersion , conservez-le tel quel dans le niveau de votre application.

  2. Au lieu de synchroniser maintenant cliquez sur créer un projet (Ctrl + F9)

  3. Ajoutez des référentiels Google Maven si nécessaire.

  4. Mettez à niveau le wrapper gradle si nécessaire.

(Android Studio IDE vous demandera/vous guidera de la même manière pour les étapes 4 et 5)

ça corrige !! Profitez de codage 

2
Aakash Birari

Résolu ce problème en ajoutant la dépendance google() dans les deux référentiels de build.gradle (Project: ProjectName). puis synchronisez votre projet

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.3.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}
2
M.Zain

Voici le correctif.

Lors de la compilation d'un projet dans Android Studio, je rencontre parfois:

Erreur: Aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec préfixe: arm-linux-androideabi/llvm

Cela peut être dû à la mise à jour des composants associés. La solution consiste à utiliser Android studio (Outils -> Android -> Gestionnaire de SDK). Sélectionnez l’élément ndk et supprimez-le. Si le programme en a besoin, vous pouvez le réinstaller. Cela garantira que l'emplacement du dossier est correct et qu'il n'y aura aucun problème de ce type.

2
0xalihn

Trouvez votre propre SDK Android local. Si vous téléchargez le SDK correspondant de ndk, vous obtiendrez un dossier appelé "ndk-bundle"

 enter image description here

Il y a un dossier appelé "toolchains" à l'intérieur.

 enter image description here

Nous avons remarqué qu’il n’y avait pas de fichiers liés à mips64el.

 enter image description here

La solution est la suivante:

Cliquez ici pour télécharger le package NDK séparément via le navigateur . Après la décompression, ouvrez le dossier "toolchains", comparez-le avec le dossier Android-sdk-> ndk-bundle-> toolchains, recherchez le dossier manquant , copiez le passé 3. Recompiler, le problème est résolu . J'espère que cela vous aidera à vous accoupler

1
D Prince

Pour moi, je pense qu’il pourrait y avoir un problème lors de l’installation d’Android NDK à partir du studio Android. J'ai pu résoudre ce problème de la manière suivante

Téléchargé Android ndk depuis 

https://developer.Android.com/ndk/downloads/index.html

et placé dans ndk-bundle (où votre sdk Android est installé). Pour plus d'informations, consultez ces écrans.

https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn

1
Chirag Purohit

Face au même problème.

J'ai eu le succès suivant les manières.

Ouvrez votre fichier buldle.gradle et mettez à niveau les versions pour suivre les deux classpath 

classpath 'com.Android.tools.build:gradle:3.2.1'classpath' com.google.gms: google-services: 4.2.0 '

Ensuite, Sync et après avoir obtenu un fichier dilaog pour la mise à jour de la version Gradle, cliquez ensuite sur ce lien et attendez le téléchargement de toutes les mises à jour requises (Hope Internet available). Après avoir pris beaucoup de temps, vous avez réussi.

1
subhash gaikwad

Commencez par mettre à jour la version de ndk https://developer.Android.com/ndk/downloads/

Si cela ne fonctionne pas, essayez ce qui suit:

  • Créer un dossier

    Allez dans le dossier Sdk\ndk-bundle\toolchains (dans mon cas, il est C:\Utilisateurs\USER\AppData\Local\Android\Sdk\ndk-bundle\toolchains; vous pouvez trouver le vôtre sous Fichier- > structure du projet-> emplacement du SDK dans vousAndroid studio) et créez un dossier portant le nom indiqué par manquant dans l’erreur, par exemple: si l’erreur est 

    La synchronisation de Gradle a échoué: aucune chaîne d'outils trouvée dans le dossier Chaînes d'outils NDK pour ABI avec le préfixe: mipsel-linux-Android.

    Créez ensuite un dossier avec le nom mipsel-linux-Android.

  • Inclure le contenu Accédez à nouveau au dossier Sdk\ndk-bundle\toolchains et ouvrez tous les dossiers déjà présents. Par exemple: Sdk\ndk-bundle\toolchains\aarch64-linux-Android-4.9 (Dans mycase C:\Utilisateurs\UTILISATEUR\AppData\Local\Android\Sdk\ndk-bundle\toolchains\aarch64- linux-Android-4.9) copiez le dossier prebuilt dans le dossier que nous avons créé à la dernière étape 

  • Exécutez le projet à nouveau et cela fonctionnera

J'espère que ça aide!!

1
Dismi Paul

Si vous n'utilisez pas le NDK, désélectionnez la variable d'environnement Android_NDK_HOME.

1
Cristan

Si vous utilisez Ionic 3 Supprimez ndk à Android studio sdk tools. 

1
Taimoor Tariq

le fichier de lien n'est pas bon pour moi.

ln -s aarch64-linux-Android-4.9 mips64el-linux-Android
ln -s arm-linux-androideabi-4.9 mipsel-linux-Android

Parce qu'il y a une autre erreur.

* What went wrong:
A problem occurred configuring project ':Test'.
> Expected caller to ensure valid ABI: MIPS

Ajoutez ceci dans defaultConfig si vous construisez avec gralde

ndk {
    abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
}

Si vous utilisez la commande ndk-build, ajoutez ceci dans Application.mk.

APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
0
Victor Choy

Mettez simplement à niveau votre Android studio avec la dernière version >> connectez-vous à Internet pour télécharger le contenu en fonction de votre projet.

Bonne codage ..

0
Dmax

Ouvrez Android/gradle/gradle-wrapper.properties et modifiez cette ligne: distributionUrl =

https\://services.gradle.org/distributions/gradle-4.1-all.Zip

à cette ligne:

distributionUrl =

https\://services.gradle.org/distributions/gradle-4.4-all.Zip

Ouvrez Android/build.gradle et changez cette ligne:

classpath 'com.Android.tools.build:gradle:3.0.1'

pour ça:

classpath 'com.Android.tools.build:gradle:3.1.2'
0
Ahsan Ajmal

Dans mon expérience limitée avec cette question, j'essaye de résoudre le problème suivant:

1. Restez Android compilez la version des outils de la même manière que la version graduée. Par exemple: si vous utilisez la version 3.3.0 des outils de compilation, votre version doit être 4.10.1.Vous pouvez faire référence au lien https://developer.Android.com/studio/releases/gradle- plugin et chagne vos outils de compilation et version dans votre AS (Fichier-> Structure du projet-> Projet)

2.Si la méthode 1 ne fonctionne pas, vous pouvez personnaliser la version de votre chaîne d'outils ndk pour résoudre le problème: comme télécharger ndk18 ou ndk16, définir le chemin d'accès ndk à votre AS (Fichier-> Structure du projet-> Emplacement du SDK-> Emplacement du NDK Android)

0
廖志伟

Mettez à niveau votre Gradle Plugin

  1. com.Android.tools.build:gradle:3.1.4
    Améliorer les propriétés d'emballage de gradles

    distributionUrl = https: //services.gradle.org/distributions/gradle-4.4-all.Zip

0
RAHULRSANNIDHI

J'ai navigué sur local.properties, et là-bas le

ndk.dir=/yo/path/for/NDK

la ligne doit être mise à jour pour indiquer où se trouve votre ndk.

J'utilisais Crystax NDK et je ne savais pas que le NDK d'Android était toujours utilisé.

0
Yipeng Zhang

J'ai la même erreur en ajoutant NDK. J'ai beaucoup essayé et plus tard, j'ai trouvé la solution ci-dessous qui fonctionne parfaitement pour moi.

si vous souhaitez ajouter NDK à votre projet, suivez les étapes ci-dessous . 1. Si vous avez installé NDK à l'aide de SDK Manager, désinstallez-le d'abord. (décochez l’outil SDK et appliquez-le) 2. Téléchargez manuellement NDK à partir de son site officiel. (toute version) si le projet est ancien, alors préférez la version 17. 3. Extrayez ce fichier . 4. Accédez à la structure de votre projet> chemin NDK> ajouter le chemin du fichier extrait ici . 5. Projet de construction. et son travail.

0
gunavant patel

La solution simple consiste à télécharger et à extraire le fichier suivant, qui contient les dossiers mips64el-linux-Android-4.9 et mipsel-linux-Android-4.9, dans votre dossier toolchains dans sdk "Android-sdk\ndk-bundle\toolchains".

Téléchargez ce fichier et extraxt dans la liste des outils

0
Yazdan Sharifi

Mettre à jour la version du projet

classpath 'com.Android.tools.build:gradle:3.2.1'

Mettre à jour le niveau de l'application: implementation 'com.Android.support:appcompat-v7:28.0.0' implementation 'com.Android.support:design:28.0.0'

0
Soumen Das

Les étapes que j'ai suivies pour résoudre le problème comme suit,

Analyze -> Code Cleanup

File -> Project Structures -> Select project from the list and update the gradle version to latest.

Build -> Clean Project

Build -> Make Project

Maintenant, le problème lié à la construction peut être signalé comme utiliser la compilation au lieu de la mise en œuvre, etc.

S'il vous plaît corriger ceux-ci et j'espère que cela devrait résoudre le problème.

0
Ajay Kumar Meher

Après avoir regardé autour de moi, la solution fut de supprimer la désignation NDK de mes préférences.

Android Studio → Préférences → Paramètres système → Android SDK → Outils SDK → Désélectionner NDK → Bouton Appliquer.

Project et Gradle ont bien compilé après cela et j'ai pu avancer dans mon travail de projet.

En ce qui concerne les raisons pour lesquelles cela se produit, je ne sais pas, mais pour plus d’informations sur NDK, consultez:

0
Raza Baloch

J'ai résolu le problème en réinstallant le NDK.

0
Rajesh Khadka