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.
android
android-studio
gradle
android-ndk
synchronization
Farhad Farzin
quelle
quelle
ANDROID_NDK_HOME
)? Was ist in der Datei source.properties im NDK?Antworten:
Ich hatte ein ähnliches Problem und löste es, indem ich das Projekt mit
Import project (Gradle, Eclipse, etc.)
anstelle von öffneteOpen existing Android Studio project
.quelle
Sie können NDK über Datei> Projektstruktur> SDK-Speicherort im linken Bereich auswählen und auf Aus NDK-Speicherort herunterladen klicken.
quelle
Ich hatte das gleiche Problem nach dem Upgrade meines Android-Studios. Sie müssen nur den Pfad zu Ihrem NDK-Pfad öffnen
local.properties
und ändernndk.dir
.Code:
quelle
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
quelle
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.
quelle
Sie müssen NDK mit dem SDK-Manager installieren
quelle
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.)
quelle
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).
quelle
Ich behebe es, indem ich zur
file > Invalidate Caches\Restart
IDE gehe, wird neu gestartet und das Problem wird behobenquelle
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.
quelle
Ich hatte das gleiche Problem. Meine Umgebung ist:
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 assembleDebug
odergradle sync
.)(2)
https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version
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.
quelle
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)
Dies führt dazu, dass Android Studio Ihren .gradle-Ordner neu erstellt und erneut herunterlädt, wodurch Ihre in Konflikt stehenden Dateien behoben werden.
quelle
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.
quelle
Ich hatte den gleichen Fehler, nachdem ich einige Bibliotheken in die
build.gradle
Datei 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.
quelle
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.
quelle
In meinem Fall behebe ich es durch ein Upgrade auf SdkVersion 29 und migriere auf AndroidX.
quelle
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.
quelle
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
quelle
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
quelle
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
quelle
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 ......
quelle
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.
quelle
Ändern Sie den claaspath im Skript build.gradle in 'com.android.tools.build:gradle:3.5.2'
quelle
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.
quelle
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.
quelle
Ich habe die Gradle-Version der Datei gradle-wrapper.properties von 4.1 auf 4.6 geändert.
quelle
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
Von hier aus haben Sie einen Ausgangspunkt, um herauszufinden, was unter der Haube falsch läuft.
quelle
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
quelle
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:
und das Problem war weg.
quelle
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 file
Stammordner Ihres Projekts und fügen Sie hinzuandroid.useDeprecatedNdk=true
quelle