No version of NDK matched the requested version
Solution 1:
The following solutions assume that the machine you are using currently has NDK installed and was previously able to build your project but started failing with the error "No version of NDK matched the requested version" after updating to Android Gradle plugin 3.6.0
. Before proceeding make sure to have NDK installed.
Option 1:
You can simply select your locally installed NDK in the Project Structure Dialog
You can open the Project Structure Dialog by clicking File > Project Structure...
or by pressing the hotkeys CTRL + ALT + SHIFT + S
(on windows)
Once the Project Structure Dialog is open, go to SDK Location and select your locally installed version of NDK under Android NDK Location. Typically this is installed somewhere in your user folder then \AppData\Local\Android\Sdk\ndk\%ndk version%
at least for Windows.
- from Android Studio 3.6 Build #AI-192.7142.36.36.6200805, built on February 12, 2020
Option 2:
Doing option 1 will edit your local.properties
file for you and will work in most cases. But if you want to use a consistent NDK version on all machines you build the project with, according to this official guide, you can configure it from your module gradle script. Simply add the ndkVersion
in your module gradle script's android{}
block like so.
android {
ndkVersion "major.minor.build"
}
replacing the string between the doublequotes with the NDK version you want to use
Option 3:
If you want all projects built on a particular machine to use the same NDK version, you can also set ANDROID_NDK_HOME
environment variable with the path to the NDK folder.
Solution 2:
I have the same issue. I resolved it through the SDK manager under SDK Tools, click Show Package Details
and then scroll under NDK (Side by side) and tick and apply the version you need. See image below:
My question for anyone is, why do we need this now for projects that do not require the NDK? As it turns out the NDK is a pre-existing requirement in the project I work on for a dependency!
Solution 3:
It isn't necessary with Android gradle plugin > 4.1.0 (see also https://issuetracker.google.com/issues/144111441)
With < 4.1.0 I run into this too
No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669
Option 1:
You can simply select your locally installed NDK in the Project Structure Dialog works !
But is only valid for local builds, an I need a solution for CI
Option 2:
It's only works, when you specify it in every used module
android {
compileSdkVersion 28
ndkVersion "21.0.6113669"
...
}
Here it seems not to work https://github.com/hannesa2/panoramagl/pull/17/checks with this change https://github.com/hannesa2/panoramagl/pull/17/files#diff-cff4e8c294a5dc5e76308662ae1ddcacR6-R7
Option 3:
export ANDROID_NDK_HOME=/Users/{my-user}/Development/adt/sdk/ndk/21.0.6113669
works too !