Результат разрешения NDK: настройки проекта: версия модели Gradle = 5.4.1, версия NDK - НЕИЗВЕСТНАЯ ошибка


103

После обновления Android Studio и Gradle до 3.5 я теперь получаю эту ошибку:

Результат разрешения NDK: настройки проекта: версия модели Gradle = 5.4.1, версия NDK НЕИЗВЕСТНО

Я изменил версию Gradle в build-gradle обратно на 3.4.2, но это не помогло.


Какая версия является вашей NDK? Как это было установлено? Как вы используете его в своем проекте (указанном в build.gradle, local.properties или ANDROID_NDK_HOME)? Что находится в файле source.properties в NDK?
Дэн Альберт

2
Откуда у вас эта "ошибка"? Я получаю это сообщение после обновления Android Studio во всех моих проектах в журнале событий, но это не влияет. Все строится и работает как надо. Я никогда не использовал NDK - поэтому меня не волнует, что он не сработает.
Невероятный

1
я думаю ... "версия NDK" не главная проблема .... я снова импортирую проект ... и проблема решена
Фархад


1
Возможно, у вас не работает ни одно из решений (у меня не сработало). Проблема отслеживается в Google, вы можете пометить
Майк Харди

Ответы:


70

У меня была аналогичная проблема, и я решил ее, открыв проект, используя Import project (Gradle, Eclipse, etc.)вместо Open existing Android Studio project.


9
Это не решило проблему для меня. У меня все еще есть ошибка даже с gradle 5.6.1 / plugin 3.5.0 / Android Studio 3.5.0 после повторного импорта проекта
Майк Харди

Для полноты (так как я сказал , что это не работа для меня) это на самом деле делает работу для меня - и требуется даже - чтобы исправить отдельный глупый вид Gradle + среагировать-родной родной вопрос модуль компиляции. Так что как трюк "Android Studio / gradle", который нужно иметь в своем арсенале, это хороший вариант.
Майк Харди,

20
перейдите в File> Project Structure> DownloadNDK, который загрузит и добавит путь к вашим локальным свойствам, которые могут исправить ситуацию, если этот ответ не сработает
KingKongCoder

3
Я закрыл проект, удалил все папки сборки, файлы .iml, папку .idea. Потом открыли проект, и он успешно построен
Дмитрий Павлухин

1
@KingKongCoder Я нашел эту ссылку в File> Project Structure> SDK Location> Download Android NDK
bitlather

18

Вы можете загрузить NDK, выбрав «Файл»> «Структура проекта»> «Выбор местоположения SDK» на левой панели и нажав «Загрузить из части местоположения NDK».


9
Нет никакого смысла, если вы им не пользуетесь.
Невероятный

Вопрос касается сообщения об ошибке, и ответ не должен требовать его установки, чтобы избавиться от сообщения. NDK является дополнительным пакетом
Майк Харди

Ответ для всех, кто использует NDK и сталкивается с этой ошибкой, и в вопросе не упоминается, использует он NDK или нет. @ The
Zahra

1
NDK занимает почти 1 ГБ вашего предыдущего жесткого диска! И я не уверен, есть ли какое-то другое влияние (например, память, производительность, процессор и т. Д.). Зачем его скачивать, если он никогда не использовался? Можем ли мы просто проигнорировать ошибку?
Пабло Альфонсо

@Pablo Да, если вы не используете NDK и не помогли ответы, игнорируйте ошибку.
Zahra

11

У меня была такая же проблема после обновления моей студии Android. Вам просто нужно открыть local.propertiesи изменить ndk.dirпуть к вашему пути NDK.

Код:

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

3
Я кодирую с помощью JAVA, и у меня вообще нет NDK
Фархад

2
Это не имеет смысла, если у вас нет и вы не хотите NDK. Это необязательный компонент
Майк Харди

local.properties говорит: «Этот файл автоматически создается Android Studio. Не изменяйте этот файл - ВАШИ ИЗМЕНЕНИЯ БУДУТ УДАЛЕНЫ!»
leoneboaventura,

7

Я не использую NDK в своем проекте, но у меня была та же проблема. Проблема исчезла после того, как я обновил версию SDK до последней версии compileSdkVersion 29


2
Интересно - я подумал, что у этого есть потенциал, поэтому попробовал, но все равно не решил. Здесь есть нерешенная
Майк Харди,

2
@MikeHardy в настоящее время я использую плагин Gradle версии 3.5.0 и Gradle версии 5.4.1. Попробуйте изменить эту версию, пока ошибка будет исправлена. Надеюсь, это тебе поможет.
Влад

1
все в актуальном состоянии, но остается прежним!
Сахан Пасинду Нирмал 05

6

У меня был предыдущий ответ (так как он был удален модераторами), где я подробно описал, что есть обходные пути (как указано здесь), которые работают для некоторых, но что есть основная ошибка в gradle, потому что обходные пути не работают для всех (в частности: ни один из они работают на меня)

Соответствующая проблема с Google находится здесь: https://issuetracker.google.com/issues/140403764

Обновление: на сегодняшний день (20190920) они указывают, что устранили основную проблему, поэтому я ожидаю, что будущий выпуск gradle после сегодняшнего дня (20190920) будет содержать исправление.

Обновление 2: Сегодня (20190926) я получил ответ от гуглера о том, что проблемный код был в Android Studio, и он содержится в ветке версии 3.6, но недоступен ни в одной общедоступной сборке на данный момент (Android Studio 3.6 Canary 12 была выпущен незадолго до этого исправления). Это позволяет вам знать, какой компонент обновлять и на какие версии в любом случае обратить внимание. Похоже, в Android Studio 3.6 Canary 13 и более поздних версиях он должен быть https://issuetracker.google.com/issues/140403764#comment13

До тех пор вы можете попробовать обходные пути, но когда есть ошибка поставщика и обходные пути не работают, вам просто нужно дождаться исправления поставщика.



4

У меня впервые возникла эта проблема после обновления Android Studio 3.5.0 до 3.5.1 сегодня.

Я просто сделал перестройку из верхнего меню Build -> Rebuild Project.

Это может не сработать для всех, в зависимости от причины проблемы, но у меня это сработало. Дать ему шанс.

(Кроме того, я не использую NDK и никогда не скачивал его раньше. До сих пор не скачал)


1
Я использую AS 3.5.1, моему проекту нужен NDK. Получил точную ошибку, почистил и перестроил исправил. Достаточно просто сначала попробовать, прежде чем делать что-либо еще.
Шон

@ Шон Хороший, рад, что это сработало! Кстати, думаю, ребилд тоже начинается с чистки. Я понял это однажды, когда у меня была открыта нижняя панель инструментов сборки и первой задачей было «очистить». С тех пор как раз только на ребилд попал. (Надеюсь, он делает то, что я думаю, смеется).
Райан

4

Если вы не используете NDK, игнорируйте ошибку.

Я установил NDK, чтобы посмотреть, имеет ли это значение. Нет никакой разницы (кроме неиспользуемой папки NDK более 2 ГБ :). Поэтому я удалил его (т.е. удалил папку ndk и удалил переменную окружения NDK, которую вы установили ранее).


3

Я исправлю это, перейдя file > Invalidate Caches\Restart в среду IDE, перезапустится, и проблема будет устранена


перейдите в 'файл> структура проекта> расположение SDK' и загрузите последний NDK, перейдите в проект 'local.properties' и укажите местоположение NDK, например 'ndk.dir = C \: \\ Users \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk '
Hocine Djouamaa

В этом нет никакого смысла, если вы не используете его (NDK)
Сахан Пасинду Нирмал

3

После недавнего обновления Android Studio у меня было такое же сообщение об ошибке. Я пробовал другие ответы здесь, и никто не работал. Но ответ @Zahra указал мне на то, что действительно сработало:

Перейдите в Файл-> Структура проекта ... В разделе « Расположение Android NDK » щелкните раскрывающийся список и выберите « Рекомендуется NDK по умолчанию. ».

До того, как я выбрал значение по умолчанию, там был немного другой путь. Где-то обновлялся с помощью диспетчера SDK, путь вроде изменился.

И теперь в файле local.properties sdk.dir установлен в тот же каталог, что и опция « DEFAULT NDK Recommended ».


Попробовав по крайней мере 5 разных «решений», это, наконец, вернуло меня в нужное русло, теперь перейдем к следующей ошибке Android Studio ...
Норлеш

2

У меня была такая же проблема. Моя среда:

  • Android Studio 3.5.1
  • Gradle 4.4
  • Плагин Android-Gradle 3.1.2
  • CMake 3.10 и 3.6

Я удалил CMake 3.10 с помощью SDKManager. (установлен CMake только 3.6)

Синхронизация и сборка Gradle выполнены успешно.

(1)

android-gradle-plugin 3.1.2 использовал CMake 3.10.

В android-gradle-plugin 3.1.2 (или 3.1. +) Функция поддержки CMake 3.7 и выше - это функция предварительного просмотра.

(из выходного сообщения gradle assembleDebugили gradle sync.)

(2)

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

SDK Manager включает разветвленную версию CMake 3.6.0 и версию 3.10.2. Проекты, для которых не установлена ​​конкретная версия CMake в build.gradle, создаются с помощью CMake 3.6.0.

Возможно, это поведение android-gradle-plugin 3.3 или выше. (это из android-studio 3.3, который можно скачать CMake 3.10)

android-gradle-plugin 3.1.2 использовал последнюю версию из установленного CMake.


Я пропустил, что вы написали "Gradle 3.5" и "build-gradle back to 3.4.2".
Yu

2

У меня была такая же проблема на Mac.

Предложение: принудительно перестроить папку .gradle.

Это по-прежнему показывает, что «Версия NDK НЕИЗВЕСТНА» в журнале событий, но она успешно строится и не вызывает никаких проблем. (У меня не загружен NDK)

  1. Откройте папку / Users / macuser /
  2. Нажмите CMD + SHIFT +. (точка / точка) для просмотра скрытых папок
  3. УДАЛИТЬ папку .gradle
  4. Перезагрузите Android Studio

Это заставит Android Studio перестроить и повторно загрузить вашу папку .gradle, исправляя ваши конфликтующие файлы в процессе.


У меня это сработало, но только в первый раз. Если бы я повторно открыл проект без предварительного удаления .gradle, то получил бы ту же ошибку, что и раньше.
Кайл Абенс

Да, похоже, ошибка останется в журнале. У меня это тоже есть, но проект строится и работает нормально.
Fox

1

Проблема решена, когда я обновил версию плагина Android Gradle с 3.1.4 до 3.4.0 и версию Gradle с 4.4 до 5.1.1 одновременно. Конечно, я загрузил новейший NDK (Side by Side) с менеджером SDK.


Мне также пришлось обновить мою версию Gradle
BlackHatSamurai

1

У меня была такая же ошибка после добавления пары библиотек в build.gradleфайл уровня приложения .
Решением было просто очистить проект .
В строке меню выберите: Build >> Clean Project
После этого ошибка исчезла для меня. Больше я ничего не делал.


1

В моем случае Android Studio была установлена ​​на новом Mac. Просто нужно было загрузить Android 9 (мой целевой / компилируемый SDK был 28) и инструменты для сборки. После этого проблема была решена.


1

В моем случае я исправляю это путем обновления до SdkVersion 29 и перехода на AndroidX.


1
у меня сработало обновление целевой и скомпилированной версии до sdk 29: D
Ziad H.

0

После обновления у меня возникла такая же проблема в одном из моих проектов. Я решил это, просто удалив строку ndk.dir = D: \ Android \ SDK \ ndk-bundle из файла local.properties.


1
Ответ можно сделать более ценным, указав, откуда вы узнали, где найти файл в студии Android или в файловой системе, и ваши соображения при определении того, что нужно сделать.
Реконструктор Роб

5
ndk.dir не установлен в моих проектах. Я никогда не использовал NDK. Тем не менее, я получаю эту "ошибку" в Android Studio 3.5.
Невероятный

Как и The Incredible Jan, этого не было в моем local.properties, но я до сих пор получаю это сообщение. Так что это не полное решение, но, возможно, оно
Майк Харди

0

Я получил эту ошибку (и несколько других) после импорта проекта из системы управления версиями через гиперссылку Bitbucket.

После импорта закройте проект и повторно импортируйте его, используя File > New > Import Project. После этого все построилось правильно. (Путь NDK уже был указан правильно, и только импорт как новый работал)

Мета: 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

Проблема решена после проверки предложений в структуре проекта и обновления двух предложенных обновлений. Извините, я не могу вспомнить имена модулей, поскольку они исчезли, как только я нажал обновление для каждого из них и синхронизацию градиента. запустился автоматически и после этого проблема исчезла


0

понижение версии ndk с 20 до r17c и версии cmake с 3.10 до 3.6.411459 решило проблему для меня


0

У меня была такая же проблема после обновления Android Studio. Моя проблема решена после обновления Android SDK Build-Tools. [Инструменты-> SDK Manager-> SDK Tools-> Android SDK Build-Tools].

Затем попробуйте Очистить проект [Build-> Clean Project].

Наконец, перезапустите Android Studio IDE ......


0

Я просто закрыл проект, закрыл студию Android, перезапустил свой компьютер, отследил свой проект и удалил папку .Idea в «B: /PROJECTNAME/.idea» и вуаля.

Задача решена. Он повторно синхронизируется. Н / Б: мой градиент - androidx. удачи кому-то.



0

Хорошо. Недавно я загрузил последнюю версию Android studio и получил аналогичную ошибку. В итоге я создал новый проект. Выбранный язык Kotlin, затем Jelly Bean (обсуждаются варианты выбора). Затем началась вся синхронизация, но первая синхронизация не удалась, и в конце концов она снова автоматически синхронизировалась, и все начало работать. Изменил коды по умолчанию (текст), так как я новичок, но сообщений об ошибках не было. Предварительный просмотр был в порядке, и я продолжил обучение. Извините, я не смог объяснить это лучше. Я просто новичок. Ой! Для работы необходимо подключение к Интернету.


0

Если эта проблема возникла после обновления Android Studio и вы инициировали обновление плагина из правого нижнего уведомления: Открыть File > Project structure , затем измените версию Android Gradle на свою версию Android Studio и понизьте версию Gradle до предыдущей.

В моем случае я понизил версию Android Gradle с 3.5.3 до 3.2.1 и версию Gradle с 5.4.1 до 4.6.



0

У меня была эта проблема, и ни одно из решений не помогло мне. Проблема в том, что эта ошибка или предупреждение могут появляться по очень широким причинам. Вы можете выполнить следующие действия, чтобы выяснить, что не так:

NDK отсутствует

Когда Gradle начинает компилировать собственные зависимости, он создает папку «.cxx» в папке «app». внутри этой папки вы можете найти файл "ndk_locator_record.json", который представляет собой очень странный тип файла журнала. Это в основном все пути, которые Gradle проверяет, чтобы найти папку NDK. Если есть какие-либо ошибки или несоответствия в номерах версий NDK, вы можете увидеть в этом файле.

Ошибка сборки NDK

по каким-то неизвестным причинам (возможно, ошибка в Gradle) ndk build не показывает фактическую ошибку в окне журнала событий, вместо этого он показывает сбой, например сбой синхронизации Gradle: выполнение внешней собственной сборки для ndkBuild .... после NDK Resolution Outcome: Project настройки: версия модели Gradle = 5.4.1, версия NDK НЕИЗВЕСТНО .

В этом случае вернитесь к .cxx> ndkBuild> debug> x86 (x64 или любая другая архитектура процессора). Здесь, в этой папке, вы можете найти файл "json_generation_record.json", это журнал того же типа, обычно последняя запись содержит фактическую ошибку. . Например, для меня было

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

Отсюда у вас есть отправная точка, чтобы узнать, что не так под капотом.


0

Если NDK не установлен и он требуется для проекта Android, сначала установите NDK.

В ОС Windows добавьте путь NDK к переменной среды PAT H. Это устранит проблему с версией.

В моем случае путь NDK - C: \ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669


0

Я сталкивался с этой проблемой раньше, и я исправил ее, убедившись, что у меня есть правильные разрешения для каталога приложения.

Я использую macOS, поэтому сделал:

chmod -R 777 your_android_project

и проблема исчезла.


-1

У меня тоже возникла эта проблема, когда я обновил версию плагина Android Gradle с 3.1.2 до 3.5.1

Вот как решить эту проблему:

Перейдите gradle.properties fileв корневую папку вашего проекта и добавьтеandroid.useDeprecatedNdk=true

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.