Ergebnis der NDK-Auflösung: Projekteinstellungen: Gradle-Modellversion = 5.4.1, NDK-Version ist UNBEKANNTER Fehler


103

Nach dem Update von Android Studio und Gradle auf 3.5 wird nun folgende Fehlermeldung angezeigt:

Ergebnis der NDK-Auflösung: Projekteinstellungen: Gradle-Modellversion = 5.4.1, NDK-Version ist UNBEKANNT

Ich habe die Gradle-Version in Build-Gradle wieder auf 3.4.2 geändert, aber es hat nicht geholfen.


Welche Version ist dein NDK? Wie wurde es installiert? Wie verwenden Sie es in Ihrem Projekt (angegeben in build.gradle, local.properties oder ANDROID_NDK_HOME)? Was ist in der Datei source.properties im NDK?
Dan Albert

2
Woher hast du diesen "Fehler"? Ich erhalte diese Meldung nach dem Update von Android Studio in allen meinen Projekten im Ereignisprotokoll, sie hat jedoch keine Auswirkungen. Alles baut und läuft wie es sollte. Ich habe NDK nie benutzt - es ist mir also egal, ob es nicht funktionieren würde.
Der unglaubliche

1
Ich denke ... die "NDK-Version" ist kein Hauptproblem ... ich importiere das Projekt erneut ... und das Problem wurde behoben
Farhad Farzin


1
Es ist möglich, dass keine der Lösungen für Sie funktioniert (sie haben bei mir nicht funktioniert). Das Problem wird von Google verfolgt, Sie können es dort markieren issuetracker.google.com/issues/140403764
Mike Hardy

Antworten:


70

Ich hatte ein ähnliches Problem und löste es, indem ich das Projekt mit Import project (Gradle, Eclipse, etc.)anstelle von öffnete Open existing Android Studio project.


9
Das hat es für mich nicht gelöst. Ich habe immer noch den Fehler auch mit Gradle 5.6.1 / Plugin 3.5.0 / Android Studio 3.5.0 nach dem erneuten Import des Projekts
Mike Hardy

Der Vollständigkeit halber (da ich sagte, dass es bei mir nicht funktioniert hat) funktioniert dies tatsächlich bei mir - und ist sogar erforderlich -, um ein separates dummes Problem beim Kompilieren von Gradle + React-Native Native Module zu beheben. Als "Android Studio / Gradle" -Trick, den Sie in Ihrer Trickkiste haben sollten, ist er also gut.
Mike Hardy

20
Gehen Sie zu Datei> Projektstruktur> DownloadNDK, um Ihre lokalen Eigenschaften herunterzuladen und einen Pfad hinzuzufügen, der möglicherweise
Probleme

3
Ich habe das Projekt geschlossen, alle Build-Ordner, IML-Dateien und IDE-Ordner gelöscht. Dann eröffnete Projekt und es baute erfolgreich
Dmitriy Pavlukhin

1
@KingKongCoder Ich fand diesen Link unter Datei> Projektstruktur> SDK-
Speicherort

18

Sie können NDK über Datei> Projektstruktur> SDK-Speicherort im linken Bereich auswählen und auf Aus NDK-Speicherort herunterladen klicken.


9
Macht keinen Sinn, wenn Sie es nicht verwenden.
Der unglaubliche

Die Frage bezieht sich auf die Fehlermeldung, und für eine Antwort sollte keine Installation erforderlich sein, um die Meldung zu entfernen. Das NDK ist ein optionales Paket
Mike Hardy

Die Antwort ist für jeden, der NDK verwendet und mit diesem Fehler konfrontiert ist und in der Frage nicht erwähnt wird, dass er NDK verwendet oder nicht. @ The
Zahra

1
NDK benötigt fast 1 GB Ihrer vorherigen Festplatte! Und ich bin mir nicht sicher, ob es andere Auswirkungen gibt (wie Speicher, Leistung, CPU usw.). Warum müssen wir es herunterladen, wenn es nie verwendet wird? Können wir den Fehler einfach ignorieren?
Pablo Alfonso

@Pablo Ja, wenn Sie kein NDK verwenden und keine Antworten geholfen haben, ignorieren Sie den Fehler.
Zahra

11

Ich hatte das gleiche Problem nach dem Upgrade meines Android-Studios. Sie müssen nur den Pfad zu Ihrem NDK-Pfad öffnen local.propertiesund ändern ndk.dir.

Code:

ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK

3
Ich codiere mit JAVA und ich habe überhaupt kein NDK
Farhad Farzin

2
Dies macht keinen Sinn, wenn Sie das NDK nicht haben und nicht wollen. Es ist eine optionale Komponente
Mike Hardy

local.properties sagt: "Diese Datei wird automatisch von Android Studio generiert. Ändern Sie diese Datei nicht - IHRE ÄNDERUNGEN WERDEN GELÖSCHT!"
Leoneboaventura

7

Ich verwende NDK nicht in meinem Projekt, aber ich hatte das gleiche Problem. Das Problem verschwand, nachdem ich die SDK-Version auf die neueste compileSdkVersion 29 aktualisiert hatte


2
Interessant - ich dachte, das hätte Potenzial, also habe ich es versucht, es hat es immer noch nicht für mich gelöst. Es gibt ein offenes Problem hier issuetracker.google.com/issues/140403764
Mike Hardy

2
@ MikeHardy Derzeit verwende ich das Gradle-Plugin Version 3.5.0 und die Gradle-Version 5.4.1. Versuchen Sie, diese Versionen zu ändern, während der Fehler behoben wird. Hoffe es hilft dir.
Vlad

1
alles ist auf dem neuesten Stand, aber es ist immer noch das gleiche!
Sahan Pasindu Nirmal

6

Ich hatte eine frühere Antwort (seitdem von Moderatoren gelöscht), in der ich ausführlich darlegte, dass es Problemumgehungen (wie hier aufgeführt) gibt, die für einige funktionieren, aber dass es einen zugrunde liegenden Fehler in gradle gibt, da die Problemumgehungen nicht für alle funktionieren (insbesondere: keine von sie arbeiten für mich)

Das zugehörige Google-Problem finden Sie hier: https://issuetracker.google.com/issues/140403764

Update: Ab heute (20190920) geben sie an, dass sie das zugrunde liegende Problem behoben haben. Daher würde ich erwarten, dass eine zukünftige Version von gradle nach dem heutigen Tag (20190920) das Update enthält.

Update2: Heute (20190926) erhielt ich eine Antwort von einem Googler, dass der problematische Code in Android Studio enthalten ist und im Zweig 3.6 enthalten ist, aber derzeit in keinem öffentlich verfügbaren Build verfügbar ist (Android Studio 3.6 Canary 12 war kurz vor diesem Fix veröffentlicht). So wissen Sie, welche Komponente aktualisiert werden muss und auf welche Versionen Sie achten müssen. Sieht aus wie Android Studio 3.6 Canary 13 und höher sollte es haben https://issuetracker.google.com/issues/140403764#comment13 haben

Bis dahin können Sie die Problemumgehungen ausprobieren. Wenn jedoch ein Herstellerfehler vorliegt und die Problemumgehungen nicht funktionieren, müssen Sie nur auf einen Hersteller-Patch warten.



4

Ich habe dieses Problem zum ersten Mal erhalten, nachdem ich heute ein Upgrade von Android Studio 3.5.0 auf 3.5.1 durchgeführt habe.

Ich habe einfach eine Neuerstellung über das Hauptmenü Erstellen -> Projekt neu erstellen durchgeführt.

Dies funktioniert möglicherweise nicht für alle, je nachdem, was das Problem verursacht hat, aber für meine. Versuch es einmal.

(Außerdem verwende ich das NDK nicht und habe es noch nie heruntergeladen. Ich habe es immer noch nicht heruntergeladen.)


1
Ich verwende AS 3.5.1, mein Projekt benötigt NDK. Habe den genauen Fehler, bereinigen und neu erstellen behoben. Einfacher genug, um es zuerst zu versuchen, bevor Sie etwas anderes tun.
Sean

@ Sean Schön, ich bin froh, dass es funktioniert hat! Ich denke übrigens, der Wiederaufbau beginnt auch mit einer Reinigung. Ich erkannte, dass einmal, als ich die untere Build-Symbolleiste geöffnet hatte und sie als erste Aufgabe "sauber" war. Seitdem habe ich nur angefangen, den Wiederaufbau zu starten. (Hoffentlich macht es das, was ich denke, es ist lol).
Ryan

4

Wenn Sie kein NDK verwenden, ignorieren Sie den Fehler.

Ich habe NDK installiert, um zu sehen, ob dies einen Unterschied macht. Es gibt keinen Unterschied (außer bei einem nicht verwendeten NDK-Ordner mit mehr als 2 GB :). Also habe ich es entfernt (dh den ndk-Ordner löschen und die zuvor festgelegte NDK-Umgebungsvariable entfernen).


3

Ich behebe es, indem ich zur file > Invalidate Caches\Restart IDE gehe, wird neu gestartet und das Problem wird behoben


Gehen Sie zu 'Datei> Projektstruktur> SDK-Speicherort' und laden Sie das letzte NDK herunter. Gehen Sie zu Projekt 'local.properties' und geben Sie den NDK-Speicherort wie folgt an: 'ndk.dir = C \: \\ Benutzer \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk '
Hocine Djouamaa

Es macht keinen Sinn, wenn Sie es nicht verwenden (NDK)
Sahan Pasindu Nirmal

3

Nach meinem letzten Android Studio-Upgrade hatte ich die gleiche Fehlermeldung. Ich habe die anderen Antworten hier ausprobiert und keine hat funktioniert. Aber die Antwort von @ Zahra hat mich auf etwas hingewiesen, das funktioniert hat:

Gehen Sie zu Datei-> Projektstruktur ... Klicken Sie unter " Android NDK- Speicherort" auf die Dropdown-Liste und wählen Sie " DEFAULT NDK Recommended" Option ".

Es gab dort einen etwas anderen Pfad, bevor ich die Standardeinstellung auswählte. Bei einem Upgrade mit dem SDK-Manager scheint sich der Pfad geändert zu haben.

Und jetzt wird in der Datei local.properties sdk.dir auf dasselbe Verzeichnis wie die Option " DEFAULT NDK Recommended " gesetzt.


Nachdem ich mindestens 5 verschiedene 'Lösungen' ausprobiert hatte, brachte mich diese endlich wieder auf den richtigen Weg, um mit dem nächsten Android Studio-Fehler
fortzufahren

2

Ich hatte das gleiche Problem. Meine Umgebung ist:

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

Ich habe CMake 3.10 von SDKManager deinstalliert. (Installiertes CMake ist nur 3.6)

Gradle-Synchronisierung und Build waren erfolgreich.

(1)

android-gradle-plugin 3.1.2 verwendet CMake 3.10.

In Android-Gradle-Plugin 3.1.2 (oder 3.1. +) Ist die Funktion zur Unterstützung von CMake 3.7 und höher eine Vorschaufunktion.

(aus der Ausgangsnachricht von gradle assembleDebugoder gradle sync.)

(2)

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

Der SDK-Manager enthält die gegabelte Version 3.6.0 von CMake und Version 3.10.2. Projekte, die in build.gradle keine bestimmte CMake-Version festlegen, werden mit CMake 3.6.0 erstellt.

Vielleicht ist dieses Verhalten Android-Gradle-Plugin 3.3 oder höher. (Es ist von Android-Studio 3.3, das CMake 3.10 heruntergeladen werden kann)

Das Android-Gradle-Plugin 3.1.2 verwendete die neueste Version von installiertem CMake.


Ich habe vermisst, dass Sie "Gradle 3.5" und "Build-Gradle zurück zu 3.4.2" geschrieben haben.
Yu Kakizaki

2

Ich hatte das gleiche Problem auch auf einem Mac.

Vorschlag: Erzwingen Sie, dass sich der .gradle-Ordner neu erstellt.

Dies zeigt immer noch, dass die 'NDK-Version UNBEKANNT' im Ereignisprotokoll ist, sie jedoch erfolgreich erstellt wurde und mir keine Probleme bereitet. (Ich habe kein NDK heruntergeladen)

  1. Öffnen Sie Ihren Ordner / Users / macuser /
  2. Drücken Sie CMD + UMSCHALT +. (Punkt / Punkt), um versteckte Ordner anzuzeigen
  3. DELETE .gradle-Ordner
  4. Starten Sie Android Studio neu

Dies führt dazu, dass Android Studio Ihren .gradle-Ordner neu erstellt und erneut herunterlädt, wodurch Ihre in Konflikt stehenden Dateien behoben werden.


Das hat bei mir aber nur beim ersten Mal funktioniert. Wenn ich das Projekt erneut öffnen würde, ohne zuerst .gradle zu löschen, würde ich den gleichen Fehler wie zuvor erhalten.
Kyle Abens

Ja, der Fehler bleibt anscheinend im Protokoll. Meins hat es auch im Gange, aber das Projekt wird erstellt und läuft einwandfrei.
Fox

1

Das Problem ist gelöst, als ich gleichzeitig die Android Gradle Plugin Version von 3.1.4 auf 3.4.0 und die Gradle Version von 4.4 auf 5.1.1 aktualisiert habe. Natürlich habe ich das neueste NDK (Side by Side) mit dem SDK-Manager heruntergeladen.


Ich musste auch meine Gradle-Version
BlackHatSamurai

1

Ich hatte den gleichen Fehler, nachdem ich einige Bibliotheken in die build.gradleDatei auf App-Ebene eingefügt hatte.
Die Lösung bestand nur darin , das Projekt zu reinigen .
Wählen Sie in der Menüleiste: Build >> Clean Project
Danach war der Fehler für mich verschwunden. Ich habe nichts anderes gemacht.


1

In meinem Fall wurde Android Studio auf einem neuen Mac installiert. Ich musste nur Android 9 herunterladen (mein Ziel- / Kompilierungs-SDK war 28) und Tools erstellen. Das Problem wurde danach gelöst.


1

In meinem Fall behebe ich es durch ein Upgrade auf SdkVersion 29 und migriere auf AndroidX.


1
Das Upgrade der Ziel- und Kompilierungsversion auf SDK 29 hat für mich funktioniert: D
Ziad H.

0

Nach dem Upgrade habe ich in einem meiner Projekte das gleiche Problem. Ich habe es gelöst, indem ich einfach die Zeile ndk.dir = D: \ Android \ SDK \ ndk-bundle aus der Datei local.properties gelöscht habe.


1
Die Antwort könnte wertvoller werden, indem Sie angeben, woher Sie wissen, wo sich die Datei in Android Studio oder im Dateisystem befindet, und begründen, welche Änderung vorgenommen werden muss.
Reenactor Rob

5
ndk.dir ist in meinen Projekten nicht festgelegt. Ich habe NDK nie benutzt. Trotzdem bekomme ich diesen "Fehler" in Android Studio 3.5.
Der unglaubliche

Genau wie The Incredible Jan war dies nicht in meinen local.properties, aber ich erhalte immer noch diese Nachricht. Es ist also keine vollständige Lösung, aber vielleicht könnte es einigen helfen
Mike Hardy

0

Ich habe diesen Fehler (und mehrere andere) erhalten, nachdem ich ein Projekt aus der Versionskontrolle über den Bitbucket-Hyperlink importiert habe.

Schließen Sie das importierte Projekt und importieren Sie es erneut mit File > New > Import Project. Danach hat alles richtig gebaut. (Der NDK-Pfad wurde bereits korrekt angegeben und nur als neu importiert funktioniert)

Meta: 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


0

Das Problem wurde für mich gelöst, nachdem Vorschläge in der Projektstruktur überprüft und die beiden vorgeschlagenen Updates aktualisiert wurden. Entschuldigung, ich kann mich nicht an die Modulnamen erinnern, da sie verschwunden sind, sobald ich für jeden von ihnen auf "Aktualisieren" geklickt und die Synchronisierung durchgeführt habe. automatisch gestartet und nach diesem Problem verschwunden


0

Ein Downgrade der ndk-Version von 20 auf r17c und der cmake-Version von 3.10 auf 3.6.411459 löste das Problem für mich


0

Ich hatte das gleiche Problem nach dem Update von Android Studio. Mein Problem wird durch das Aktualisieren der Android SDK Build-Tools gelöst. [Tools-> SDK Manager-> SDK Tools-> Android SDK Build-Tools].

Versuchen Sie dann, das Projekt zu bereinigen [Build-> Clean Project].

Starten Sie zum Schluss die Android Studio IDE neu ......


0

Ich habe gerade das Projekt geschlossen, Android Studio geschlossen, meinen PC neu gestartet, mein Projekt verfolgt und den .Idea-Ordner in "B: /PROJECTNAME/.idea" und voila gelöscht.

Problem gelöst. Es wird neu synchronisiert. N / B: Mein Gradle ist Androidx. Viel Glück für jemanden.


0

Ändern Sie den claaspath im Skript build.gradle in 'com.android.tools.build:gradle:3.5.2'


0

OK. Ich habe kürzlich die neueste Version von Android Studio heruntergeladen und einen ähnlichen Fehler erhalten. Also habe ich irgendwann ein neues Projekt erstellt. Ausgewählte Kotlin-Sprache, dann Jelly Bean (über die Optionen zur Auswahl). Dann begann die gesamte Synchronisierung, aber die erste Synchronisierung schlug fehl und schließlich wurde sie automatisch wieder synchronisiert und alles begann zu funktionieren. Ich habe die Standardcodes (Text) geändert, da ich Anfänger bin, aber keine Fehlermeldungen erhalten habe. Die Vorschau war in Ordnung und ich lernte weiter. Entschuldigung, ich könnte es nicht besser erklären. Ich bin nur ein Anfänger. Oh! Sie müssen mit dem Internet verbunden sein, damit es funktioniert.


0

Wenn dieses Problem nach einem Android Studio-Upgrade aufgetreten ist und Sie ein Plugin-Update von rechts unten initiiert haben: Öffnen Sie File > Project structure, ändern Sie die Android Gradle-Version in Ihre Android Studio-Version und stufen Sie die Gradle-Version auf die vorherige herunter.

In meinem Fall habe ich das Android Gradle-Plugin von 3.5.3 auf 3.2.1 und die Gradle-Version von 5.4.1 auf 4.6 herabgestuft.


0

Ich habe die Gradle-Version der Datei gradle-wrapper.properties von 4.1 auf 4.6 geändert.


0

Ich hatte dieses Problem und keine der Lösungen funktionierte für mich. Das Problem ist, dass dieser Fehler oder diese Warnung aus sehr allgemeinen Gründen auftreten kann. Sie können die folgenden Schritte ausführen, um herauszufinden, was falsch ist:

NDK fehlt

Wenn Gradle beginnt, native Abhängigkeiten zu kompilieren, wird der Ordner ".cxx" in Ihrem Ordner "app" erstellt. In diesem Ordner befindet sich die Datei "ndk_locator_record.json", eine sehr seltsame Art von Protokolldatei. Es sind im Grunde alle Pfade, die Gradle überprüft, um den NDK-Ordner zu finden. Wenn bei NDK-Versionsnummern Fehler oder Abweichungen auftreten, können Sie diese in dieser Datei anzeigen.

NDK-Build schlägt fehl

Aus unbekannten Gründen (möglicherweise Fehler in Gradle) zeigt der ndk-Build keinen tatsächlichen Fehler im Ereignisprotokollfenster an, sondern einen Fehler, z. B. die Gradle-Synchronisierung ist fehlgeschlagen: Ausführen eines externen nativen Builds für ndkBuild .... gefolgt von NDK Resolution Outcome: Project Einstellungen: Gradle-Modellversion = 5.4.1, NDK-Version ist UNBEKANNT .

In diesem Fall gehen Sie zurück zu .cxx> ndkBuild> debug> x86 (x64 oder einem anderen CPU-Bogen). Hier in diesem Ordner finden Sie die Datei "json_generation_record.json". Es handelt sich um denselben Protokolltyp. Normalerweise hat der letzte Eintrag den tatsächlichen Fehler . Zum Beispiel für mich war

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

Von hier aus haben Sie einen Ausgangspunkt, um herauszufinden, was unter der Haube falsch läuft.


0

Wenn das NDK nicht installiert ist und das Android-Projekt es benötigt, installieren Sie zuerst das NDK.

Fügen Sie unter Windows den NDK-Pfad zur Umgebungsvariablen PAT H hinzu. Dadurch wird das Versionsproblem behoben.

In meinem Fall lautet der NDK-Pfad C: \ Benutzer \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669


0

Ich hatte dieses Problem bereits zuvor und habe es behoben, indem ich sichergestellt habe, dass die richtigen Berechtigungen für das App-Verzeichnis vorhanden sind.

Ich benutze macOS, also habe ich:

chmod -R 777 your_android_project

und das Problem war weg.


-1

Ich habe dieses Problem auch, als ich die Android Gradle Plugin Version von 3.1.2 auf 3.5.1 aktualisiert habe

So lösen Sie dieses Problem:

Gehen Sie zum gradle.properties fileStammordner Ihres Projekts und fügen Sie hinzuandroid.useDeprecatedNdk=true

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.