Résultat de la résolution NDK: Paramètres du projet: version du modèle Gradle = 5.4.1, la version NDK est une erreur INCONNUE

103

Après avoir mis à jour Android Studio et Gradle vers la version 3.5, j'obtiens maintenant cette erreur:

Résultat de la résolution NDK: Paramètres du projet: Version du modèle Gradle = 5.4.1, la version NDK est INCONNUE

J'ai changé la version Gradle de build-gradle en 3.4.2 mais cela n'a pas aidé.

Farhad Farzin
la source
Quelle est la version de votre NDK? Comment a-t-il été installé? Comment l'utilisez-vous dans votre projet (spécifié dans build.gradle, local.properties ou ANDROID_NDK_HOME)? Que contient le fichier source.properties dans le NDK?
Dan Albert
2
Où avez-vous cette "erreur"? Je reçois ce message après la mise à jour d'Android Studio dans tous mes projets dans le journal des événements, mais cela n'a aucun impact. Tout se construit et fonctionne comme il se doit. Je n'ai jamais utilisé NDK - donc je m'en fiche si cela ne fonctionne pas.
L'incroyable
1
je pense que ... la "version NDK" n'est pas le problème principal .... j'importe à nouveau le projet ... et le problème est résolu
Farhad Farzin
1
Il est possible qu'aucune des solutions ne fonctionne pour vous (elles n'ont pas fonctionné pour moi). Le problème est suivi par google, vous pouvez le mettre en vedette ici issuetracker.google.com/issues/140403764
Mike Hardy

Réponses:

70

J'ai eu un problème similaire et je l'ai résolu en ouvrant le projet en utilisant Import project (Gradle, Eclipse, etc.)au lieu de Open existing Android Studio project.

alapshin
la source
9
Cela ne l'a pas résolu pour moi. J'ai toujours l'erreur même avec gradle 5.6.1 / plugin 3.5.0 / Android Studio 3.5.0 après avoir réimporté le projet
Mike Hardy
Pour être complet (depuis je l' ai dit n'a pas fonctionné pour moi) ce fait ne travailler pour moi - et il est nécessaire , même - de fixer une sorte de bête séparée gradle + réagir natif problème module natif de compilation. Donc, en tant qu'astuce "Android Studio / gradle" à avoir dans votre sac d'astuces, c'est une bonne astuce.
Mike Hardy
20
allez dans Fichier> Structure du projet> DownloadNDK qui téléchargera et ajoutera un chemin vers vos propriétés locales, ce qui pourrait résoudre les problèmes si cette réponse ne fonctionnait pas
KingKongCoder
3
J'ai fermé le projet, supprimé tous les dossiers Build, les fichiers .iml, le dossier .idea. Puis a ouvert le projet et il a été construit avec succès
Dmitriy Pavlukhin
1
@KingKongCoder J'ai trouvé ce lien dans Fichier> Structure du projet> Emplacement du SDK> Télécharger Android NDK
bitlather
18

Vous pouvez télécharger NDK à partir de Fichier> Structure du projet> Choisir l'emplacement du SDK dans le panneau de gauche et appuyer sur Télécharger à partir de la partie de l'emplacement NDK.

Zahra
la source
9
Cela n'a aucun sens si vous ne l'utilisez pas.
L'incroyable
La question concerne le message d'erreur et une réponse ne devrait pas nécessiter de l'installer pour se débarrasser du message. Le NDK est un package optionnel
Mike Hardy
La réponse est pour quiconque utilise NDK et fait face à cette erreur et dans la question n'est pas mentionné qu'il utilise NDK ou non. @ The
Zahra
1
NDK prend presque 1 Go de votre disque dur précédent! Et je ne sais pas s'il y a un autre impact (comme la mémoire, les performances, le processeur, etc.). Pourquoi avons-nous besoin de le télécharger s'il n'est jamais utilisé? Pouvons-nous simplement ignorer l'erreur?
Pablo Alfonso
@Pablo Oui, si vous n'utilisez pas NDK et qu'aucune des réponses n'a aidé, ignorez l'erreur.
Zahra
11

J'avais le même problème après la mise à niveau de mon studio Android. Il vous suffit d'ouvrir local.propertieset de modifier le ndk.dirchemin de votre chemin NDK.

Code:

ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK
Shroffakshar
la source
3
Je code avec JAVA et je n'ai pas du tout de NDK
Farhad Farzin
2
Cela n'a aucun sens si vous n'avez pas et ne voulez pas le NDK. C'est un composant facultatif
Mike Hardy
local.properties dit "Ce fichier est généré automatiquement par Android Studio. Ne modifiez pas ce fichier - VOS CHANGEMENTS SERONT EFFACÉS!"
leoneboaventura le
7

Je n'utilise pas NDK dans mon projet, mais j'ai eu le même problème. Le problème a disparu après avoir mis à jour la version du SDK vers la dernière version de compileSdkVersion 29

Vlad
la source
2
Intéressant - je pensais que cela avait du potentiel alors je l'ai essayé, cela ne l'a toujours pas résolu pour moi. Il y a un problème ouvert ici issuetracker.google.com/issues/140403764
Mike Hardy
2
@MikeHardy j'utilise actuellement le plugin Gradle version 3.5.0 et la version gradle 5.4.1. Essayez de changer cette version, tandis que le bogue sera corrigé. J'espère que cela vous aidera.
Vlad le
1
tout est à jour mais c'est toujours pareil!
Sahan Pasindu Nirmal
6

J'ai eu une réponse précédente (supprimée depuis par les modérateurs) où j'ai détaillé qu'il existe des solutions de contournement (comme répertoriées ici) qui fonctionnent pour certains mais qu'il y a un bogue sous-jacent dans gradle car les solutions de contournement ne fonctionnent pas pour tout le monde (en particulier: aucune de ils travaillent pour moi)

Le problème Google associé est ici: https://issuetracker.google.com/issues/140403764

Mise à jour: À partir d'aujourd'hui (20190920), ils indiquent qu'ils ont résolu le problème sous-jacent, je m'attends donc à ce qu'une future version de gradle après aujourd'hui (20190920) contienne le correctif.

Mise à jour 2: Aujourd'hui (20190926), j'ai reçu une réponse d'un googleur indiquant que le code problématique était dans Android Studio et qu'il est contenu dans la branche de la version 3.6, mais n'est disponible sur aucune version disponible publiquement pour le moment (Android Studio 3.6 Canary 12 était publié juste avant que ce correctif ne soit fait). Cela vous permet de savoir quel composant mettre à jour et quelles versions faire attention, de toute façon. On dirait qu'Android Studio 3.6 Canary 13 et les versions ultérieures devraient l'avoir https://issuetracker.google.com/issues/140403764#comment13

Jusque-là, vous pouvez essayer les solutions de contournement, mais lorsqu'il y a un bogue du fournisseur et que les solutions de contournement ne fonctionnent pas, il vous suffit d'attendre un correctif du fournisseur.

Mike Hardy
la source
5

Vous devez installer NDK à l'aide du gestionnaire SDK Voici les instructions officielles sur la façon d'installer le NDK https://developer.android.com/studio/projects/install-ndk

Thunderstick
la source
4

J'ai rencontré ce problème pour la première fois après la mise à niveau d'Android Studio 3.5.0 vers 3.5.1 aujourd'hui.

J'ai simplement fait une reconstruction à partir du menu supérieur Build -> Rebuild Project.

Cela peut ne pas fonctionner pour tout le monde en fonction de la cause du problème, mais cela a fonctionné pour le mien. Donner un coup de feu.

(De plus, je n'utilise pas le NDK et je ne l'ai jamais téléchargé auparavant. Je ne l'ai toujours pas téléchargé)

Ryan
la source
1
J'utilise AS 3.5.1, mon projet a besoin de NDK. Vous avez l'erreur exacte, nettoyez et reconstruisez-le. Assez plus facile pour l'essayer avant de faire autre chose.
Sean
@Sean Nice, heureux que cela ait fonctionné! Au fait, je pense que la reconstruction commence également par un nettoyage. Je me suis rendu compte qu'une fois, la barre d'outils de construction inférieure était ouverte et que la première tâche était «nettoyer». Depuis lors, je n'ai commencé que la reconstruction. (J'espère qu'il fait ce que je pense que c'est lol).
Ryan
4

Si vous n'utilisez pas NDK, ignorez l'erreur.

J'ai installé NDK pour voir si cela fait une différence. Il n'y a pas de différence (sauf pour un dossier NDK inutilisé de plus de 2 Go :). Je l'ai donc supprimé (c'est-à-dire supprimer le dossier ndk et supprimer la variable d'environnement NDK que vous avez définie précédemment).

Pablo Alfonso
la source
3

je le répare en allant à file > Invalidate Caches\Restart l'IDE redémarrera et le problème sera corrigé

Hocine Djouamaa
la source
allez dans 'fichier> structure du projet> emplacement du SDK' et téléchargez le dernier NDK et accédez au projet 'local.properties' et spécifiez l'emplacement du NDK comme ceci 'ndk.dir = C \: \\ Users \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk '
Hocine Djouamaa
Cela n'a aucun sens si vous ne l'utilisez pas (NDK)
Sahan Pasindu Nirmal
3

Après ma récente mise à jour Android Studio, j'ai eu le même message d'erreur. J'ai essayé les autres réponses ici et aucune n'a fonctionné. Mais la réponse de @ Zahra m'a indiqué quelque chose qui a fonctionné:

Allez dans Fichier-> Structure du projet ... Sous " Android NDK Location ", cliquez sur le menu déroulant et sélectionnez l' option " DEFAULT NDK Recommended ".

Il y avait un chemin légèrement différent avant de sélectionner la valeur par défaut. Quelque part lors de la mise à niveau à l'aide du gestionnaire SDK, le chemin semble avoir changé.

Et maintenant, dans le fichier local.properties, sdk.dir est défini sur le même répertoire que l' option " DEFAULT NDK Recommended ".

ByteSlinger
la source
Après avoir essayé au moins 5 `` solutions '' différentes, celle-ci m'a finalement remis sur la bonne voie, maintenant pour passer à tout ce que le prochain bogue d'Android Studio se trouve être ...
norlesh
2

J'ai eu le même problème. Mon environnement est:

  • Android Studio 3.5.1
  • Gradle 4.4
  • Android-Gradle-Plugin 3.1.2
  • CMake 3.10 et 3.6

J'ai désinstallé CMake 3.10 par SDKManager. (CMake installé est de 3,6 uniquement)

La synchronisation et la compilation Gradle ont réussi.

(1)

android-gradle-plugin 3.1.2 a utilisé CMake 3.10.

Dans android-gradle-plugin 3.1.2 (ou 3.1. +), La fonction de prise en charge de CMake 3.7 et supérieur est une fonction de prévisualisation.

(à partir du message de sortie de gradle assembleDebugou gradle sync.)

(2)

https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version

Le SDK Manager inclut la version 3.6.0 fourchue de CMake et la version 3.10.2. Les projets qui ne définissent pas une version spécifique de CMake dans build.gradle sont construits avec CMake 3.6.0.

Peut-être que ce comportement est android-gradle-plugin 3.3 ou supérieur. (c'est depuis android-studio 3.3 que l'on peut télécharger CMake 3.10)

android-gradle-plugin 3.1.2 a utilisé la dernière version de CMake installé.

Yu Kakizaki
la source
j'ai manqué que vous ayez écrit "Gradle 3.5" et "build-gradle back to 3.4.2".
Yu Kakizaki
2

J'ai eu le même problème sur un mac.

Suggestion: forcez le dossier .gradle à se reconstruire.

Cela montre toujours que la «Version NDK est INCONNUE» dans le journal des événements, mais elle se construit avec succès et ne me pose aucun problème. (Je n'ai pas téléchargé NDK)

  1. Ouvrez votre dossier / Users / macuser /
  2. Appuyez sur CMD + SHIFT +. (point / point) pour afficher les dossiers cachés
  3. SUPPRIMER le dossier .gradle
  4. Redémarrez Android Studio

Cela obligera Android Studio à reconstruire et à télécharger à nouveau votre dossier .gradle en corrigeant vos fichiers en conflit dans le processus.

Renard
la source
Cela a fonctionné pour moi mais seulement la première fois. Si je rouvrais le projet sans supprimer au préalable .gradle, j'obtiendrais la même erreur qu'avant.
Kyle Abens
Oui, il semble que l'erreur restera dans le journal. Le mien l'a également en cours, mais le projet se construit et fonctionne très bien.
Fox
1

Le problème est résolu lorsque j'ai mis à jour la version Android Gradle Plugin de 3.1.4 à 3.4.0 et la version Gradle de 4.4 à 5.1.1 en même temps. Bien sûr, j'ai téléchargé le dernier NDK (côte à côte) avec le gestionnaire de SDK.

Hai-Yang Li
la source
J'ai également dû mettre à niveau ma version Gradle
BlackHatSamurai
1

J'ai eu la même erreur après avoir ajouté quelques bibliothèques dans le build.gradlefichier au niveau de l'application .
La solution consistait simplement à nettoyer le projet .
Dans la barre de menu, choisissez: Build >> Clean Project
Après cela, l'erreur a disparu pour moi. Je n'ai rien fait d'autre.

Abdallah
la source
1

Dans mon cas, Android Studio a été installé sur un nouveau mac. Juste besoin de télécharger Android 9 (mon SDK cible / compiler était de 28) et de créer des outils. Le problème a été résolu après cela.

Vlad B
la source
1

Dans mon cas, je le répare en passant à SdkVersion 29 et en migrant vers AndroidX.

AissaDevLab
la source
1
la mise à niveau de la cible et de la version de compilation vers sdk 29 a fonctionné pour moi: D
Ziad H.
0

Après la mise à niveau, j'ai le même problème dans l'un de mes projets. Je l'ai résolu en supprimant simplement la ligne ndk.dir = D: \ Android \ SDK \ ndk-bundle du fichier local.properties.

itassets
la source
1
La réponse pourrait être plus précieuse en indiquant comment vous saviez où trouver le fichier dans Android Studio ou sur le système de fichiers et votre raisonnement pour déterminer que c'était le changement à apporter.
Reenactor Rob
5
ndk.dir n'est pas défini dans mes projets. Je n'ai jamais utilisé NDK. Néanmoins, j'obtiens cette "erreur" dans Android Studio 3.5.
L'incroyable
Identique à The Incredible Jan, ce n'était pas dans mes local.properties mais je reçois toujours ce message. Ce n'est donc pas une solution complète mais peut-être que cela pourrait aider certains
Mike Hardy
0

J'ai eu cette erreur (et plusieurs autres) après avoir importé un projet à partir du contrôle de version via le lien hypertexte Bitbucket.

Une fois importé, fermez le projet et réimportez-le en utilisant File > New > Import Project. Après cela, tout s'est construit correctement. (Le chemin NDK était déjà spécifié correctement, et l'importation en tant que nouveau fonctionnait uniquement)

Méta: Android Studio 3.5 Build #AI-191.8026.42.35.5791312, built on August 8, 2019 JRE: 1.8.0_202-release-1483-b49-5587405 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.13.6 Gradle 3.4.0

Blaze Gawlik
la source
0

Problème résolu pour moi après avoir vérifié les suggestions dans la structure du projet et mis à jour les deux mises à jour suggérées. Désolé, je ne me souviens plus des noms de modules car ils ont disparu dès que j'ai appuyé sur la mise à jour pour chacun d'eux et la synchronisation graddle. démarré automatiquement et après la disparition de ce problème

mamadsp
la source
0

la rétrogradation de la version ndk de 20 à r17c et de la version cmake de 3.10 à 3.6.411459 a résolu le problème pour moi

asif khan
la source
0

J'ai eu le même problème après la mise à jour d'Android Studio. Mon problème est résolu après la mise à jour des outils de construction du SDK Android. [Outils-> SDK Manager-> SDK Tools-> Android SDK Build-Tools].

Ensuite, essayez de nettoyer le projet [Build-> Clean Project].

Enfin, redémarrez l'IDE Android Studio ......

Joyal Jose
la source
0

Je viens de fermer le projet, de fermer le studio Android, de redémarrer mon PC, de suivre mon projet et de supprimer le dossier .Idea dans "B: /PROJECTNAME/.idea" et le tour est joué.

Problème résolu. Il se resynchronise. N / B: mon grade est androidx. bonne chance à quelqu'un.

Kalaiyo5
la source
0

Changez le claaspath en 'com.android.tools.build:gradle:3.5.2' dans le script build.gradle

Bidyut
la source
0

D'accord. J'ai récemment téléchargé la dernière version du studio Android et j'ai eu une erreur similaire. J'ai donc finalement créé un nouveau projet. Langue Kotlin sélectionnée, puis Jelly Bean (parler des options à choisir). Ensuite, toute la synchronisation a commencé mais la première synchronisation a échoué et finalement elle s'est à nouveau synchronisée automatiquement et tout a commencé à fonctionner. J'ai modifié les codes par défaut (texte) puisque je suis un débutant mais je n'ai reçu aucun message d'erreur. L'aperçu était correct et j'ai continué mon apprentissage. Désolé, je ne pourrais pas l'expliquer mieux. Je ne suis qu'un débutant. Oh! Vous devez être connecté à Internet pour que cela fonctionne.

ANTHONY MELAH
la source
0

Si ce problème s'est produit après une mise à niveau d'Android Studio et que vous avez lancé une mise à jour du plug-in à partir de la notification en bas à droite: Ouvrez File > Project structure, puis changez la version d'Android Gradle vers votre version Android Studio et rétrogradez la version Gradle vers la précédente.

Dans mon cas, j'ai rétrogradé le plugin Android Gradle de 3.5.3 à 3.2.1 et la version Gradle de 5.4.1 à 4.6.

Walelgn
la source
0

J'ai modifié la version gradle du fichier gradle-wrapper.properties de 4.1 à 4.6.

Jokeen
la source
0

J'ai eu ce problème et aucune des solutions n'a fonctionné pour moi. Le problème est que cette erreur ou cet avertissement peut apparaître pour des raisons très générales. Vous pouvez suivre ces étapes pour découvrir ce qui ne va pas:

NDK est manquant

Lorsque Gradle commence à compiler les dépendances natives, il crée le dossier ".cxx" dans votre dossier "app". dans ce dossier, vous pouvez trouver le fichier "ndk_locator_record.json", qui est un type de fichier journal très étrange. Il s'agit essentiellement de tous les chemins que Gradle vérifie pour trouver le dossier NDK. S'il y a une erreur ou une incohérence sur les numéros de version NDK, vous pouvez voir dans ce fichier.

La construction de NDK échoue

pour des raisons inconnues (peut-être un bogue dans Gradle) ndk build n'affiche pas l'erreur réelle dans la fenêtre du journal des événements, au lieu de cela, il montre un échec, comme l'échec de la synchronisation Gradle: exécution de la construction native externe pour ndkBuild .... suite par NDK Résolution Résultat: Projet paramètres: version du modèle Gradle = 5.4.1, la version NDK est INCONNUE .

Dans ce cas, retournez à .cxx> ndkBuild> debug> x86 (x64 ou tout autre archi cpu) Ici, dans ce dossier, vous pouvez trouver le fichier "json_generation_record.json", c'est le même type de journal, généralement la dernière entrée a l'erreur réelle . Par exemple, pour moi était

 ../../sdk/native/jni/OpenCV.mk: No such file or directory
 make: *** No rule to make target '../../sdk/native/jni/OpenCV.mk'.  Stop.

De là, vous avez un point de départ pour découvrir ce qui ne va pas sous le capot.

Keivan
la source
0

Si le NDK n'est pas installé et que le projet Android l'exige, installez d'abord le NDK.

Sous Windows OS, ajoutez le chemin NDK à la variable d'environnement PAT H. Cela résoudra le problème de version.

Dans mon cas, le chemin NDK est C: \ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669

tanni tanna
la source
0

J'ai déjà rencontré ce problème et je l'ai résolu en m'assurant d'avoir les bonnes autorisations sur le répertoire de l'application.

J'utilise macOS, alors j'ai fait:

chmod -R 777 your_android_project

et le problème avait disparu.

Mohammad Salem
la source
-1

J'ai aussi ce problème lorsque j'ai mis à jour la version du plug-in Android Gradle de 3.1.2 à 3.5.1

Voici comment résoudre ce problème:

Allez gradle.properties filedans le dossier racine de votre projet et ajoutezandroid.useDeprecatedNdk=true

inggo topan
la source