Después de actualizar al complemento Android Gradle 3.6.0
(lanzado el 24 de febrero de 2020), varios proyectos comenzaron a fallar independientemente con:
No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669
Es bastante simple "arreglar" esto localmente instalando la versión anterior de ndk esperada:
sdkmanager 'ndk;20.0.5594570'
Sin embargo, mi pregunta es: ¿dónde y cómo se especifica esta versión anterior? ¿Y cómo lo actualizo para que coincida con la última versión 21.0.6113669
?
Respuestas:
Opción 1:
Simplemente puede seleccionar su NDK instalado localmente en el cuadro de diálogo Estructura del proyecto
Puede abrir el cuadro de diálogo Estructura del proyecto haciendo clic
File > Project Structure...
o presionando las teclas de acceso rápidoCTRL + ALT + SHIFT + S
(en Windows)Una vez que el cuadro de diálogo Estructura del proyecto esté abierto, vaya a Ubicación del SDK y seleccione su versión de NDK instalada localmente en Ubicación de Android NDK . Por lo general, esto se instala en algún lugar de su carpeta de usuario,
\AppData\Local\Android\Sdk\ndk\%ndk version%
al menos para Windows.Captura de pantalla del cuadro de diálogo Estructura del proyecto : de Android Studio 3.6 Build # AI-192.7142.36.36.6200805, construido el 12 de febrero de 2020
Opcion 2:
Hacer la opción 1 editará su
local.properties
archivo por usted y funcionará en la mayoría de los casos. Pero si desea utilizar una versión NDK consistente en todas las máquinas con las que construye el proyecto, de acuerdo con esta guía oficial , puede configurarlo desde el script de gradle del módulo. Simplemente agregue el bloquendkVersion
de script de gradle de su módulo de estaandroid{}
manera.reemplazando la cadena entre comillas dobles con la versión NDK que desea usar
Opcion 3:
Si desea que todos los proyectos construidos en una máquina en particular utilicen la misma versión de NDK, también puede establecer
ANDROID_NDK_HOME
una variable de entorno con la ruta a la carpeta NDK.fuente
$NDK_LATEST_VERSION
Me encuentro con esto también
Opción 1:
¡Simplemente puede seleccionar su NDK instalado localmente en el cuadro de diálogo Estructura del proyecto !
Pero solo es válido para compilaciones locales, y necesito una solución para CI
Opcion 2:
Solo funciona cuando lo especifica en cada módulo usado
Aquí parece que no funciona https://github.com/hannesa2/panoramagl/pull/17/checks con este cambio https://github.com/hannesa2/panoramagl/pull/17/files#diff-cff4e8c294a5dc5e76308662ae1ddcacR6-R7
Opcion 3:
funciona tambien!
fuente
21.0.6113669
pero los registros de compilación dicen que la versión solicitada es20.0.5594570
. ¿Puedes buscar unndk_locator_record.json
archivo? Ese archivo tiene información sobre cómo resolvió la versión ndk solicitada.Tengo el mismo problema. Lo resolví a través del administrador de SDK en Herramientas de SDK, haga clic
Show Package Details
y luego desplácese bajo NDK (lado a lado) y marque y aplique la versión que necesita. Ver imagen a continuación:Mi pregunta para cualquiera es, ¿por qué necesitamos esto ahora para proyectos que no requieren el NDK? ¡Resulta que el NDK es un requisito preexistente en el proyecto en el que trabajo para una dependencia!
fuente
Cambie su versión de classpath a 3.5.0 dentro de su build.gradle, nivel de proyecto.
Tengo el mismo problema y se resolvió.
fuente
3.6.0
(o más tarde). Por cierto, no necesita rebajar a3.5.0
. La versión3.5.3
funciona bien también.Tuve el mismo problema, después de un tiempo encontré una solución temporal. renombrar
ndk
carpeta andk-bundle
. en sus proyectos, vaya allocal.properties
archivo y agregue esta línea antessdk.dir
:es mio:
espero te ayude
fuente
ndk.dir=G\:\\...\\Sdk\\ndk\\21.0.6113669
me funcionó.Después de actualizar a gradle: 3.6.0 (o posterior). Intente renombrar o eliminar las carpetas ndk y ndk-bundle ubicadas en C: \ Users \ <user> \ AppData \ Local \ Android \ Sdk
El crédito va a: https://github.com/gradle/gradle/issues/12440#issuecomment-601214647
fuente