NDK не настроен (хотя установлен) - как исправить без Android Studio

Я пытаюсь создать проект Android с помощью Gradle. В проекте используется собственный код, поэтому ему нужен NDK, который я установил.

Однако Gradle выдает следующую ошибку:

> NDK not configured. 
  Download it with SDK manager.

В Android SDK Manager не указан NDK в качестве опции. Кроме того, на моем компьютере установлен NDK, поэтому ошибка, похоже, заключается в том, что Gradle его не находит.

Большинство ответов предполагают, что у пользователей есть Android Studio, которой у меня нет и не хочу. Есть ли способ исправить это без?

19
0
11 352
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

export ANDROID_NDK_HOME=/home/myself/bin/android-ndk-r10e

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

В качестве альтернативы, если вы установили ndk-bundle через sdkmanager, он будет найден без дополнительной переменной среды.

Это сработало для меня. Я использовал командную строку Linux для установки конкретной сборки yes | ./sdkmanager --install "ndk;21.0.6113669" и использовал NDK_ROOT и NDK_HOME для указания на установку, но мне нужна была переменная env ANDROID_NDK_HOME. Эта переменная казалась установленной, если вы используете --install ndk-build, но при этом всегда устанавливается последняя версия. Получил те версии с ./sdkmanager --list

GameSalutes 12.04.2020 02:22

Most answers assume users to have Android Studio, which I do not have and do not want. Any way to fix this without?

Да, вам не нужно устанавливать Android Studio.

Что касается вашего существующего проекта Android, я ожидаю, что у вас уже есть local.properties в корневом каталоге вашего проекта. Откройте и измените там, чтобы установить каталог NDK. Например, ваша версия NDK - android-ndk-r17b (https://developer.android.com/ndk/downloads/), и вы установили (или разархивировали) ее в каталоге /Users/myname/foo/xxx/Android/android-ndk-r17b, а затем измените этот файл, как показано ниже:

ndk.dir=/Users/myname/foo/xxx/Android/android-ndk-r17b 
sdk.dir=/Users/myname/foo/xxx/Android/sdk

Этот ответ также полезен, если у вас есть Android Studio и вы получили код от другого разработчика, который включил их local.properties. Вы можете отредактировать их local.properties и удалить строку с ndk.dir, которая указывает на папку их локального компьютера, если ваша Android Studio уже настроена с правильной папкой на вашем компьютере. Затем синхронизация gradle, и ошибка исчезнет.

auspicious99 26.05.2020 04:23

К вашему сведению, теперь это немного устарело из-за устаревания конфигурации ndk.dir в local.properties. Он по-прежнему работает (пока), но здесь описан рекомендуемый подход для правильной настройки: developer.android.com/studio/…

speby 18.02.2021 00:49

Другие вопросы по теме