Resultado de la resolución del NDK: Configuración del proyecto: versión del modelo Gradle = 5.4.1, la versión del NDK es un error DESCONOCIDO

103

Después de actualizar Android Studio y Gradle a 3.5, ahora aparece este error:

Resultado de la resolución del NDK: Configuración del proyecto: versión del modelo Gradle = 5.4.1, la versión del NDK es DESCONOCIDA

Cambié la versión de Gradle en build-gradle de nuevo a 3.4.2 pero no ayudó.

Farhad Farzin
fuente
¿Qué versión es tu NDK? ¿Cómo se instaló? ¿Cómo lo está usando en su proyecto (especificado en build.gradle, local.properties o ANDROID_NDK_HOME)? ¿Qué hay en el archivo source.properties en el NDK?
Dan Albert
2
¿De dónde sacaste este "error"? Recibo este mensaje después de la actualización de Android Studio en todos mis proyectos en el Registro de eventos, pero no tiene ningún impacto. Todo se construye y funciona como debería. Nunca usé NDK, así que no me importa si no funcionará.
El increíble
1
Creo que ... la "versión NDK" no es el problema principal ... importo el proyecto de nuevo ... y el problema se resolvió
Farhad Farzin
1
Es posible que ninguna de las soluciones funcione para usted (no funcionaron para mí). Google está rastreando el problema, puede marcarlo
Mike Hardy

Respuestas:

70

Tuve un problema similar y lo resolví abriendo el proyecto usando Import project (Gradle, Eclipse, etc.) lugar de Open existing Android Studio project.

alapshin
fuente
9
Eso no me solucionó. Todavía tengo el error incluso con gradle 5.6.1 / plugin 3.5.0 / Android Studio 3.5.0 después de importar el proyecto nuevamente
Mike Hardy
Para completar (ya he dicho que no funcionó para mí) En realidad, esto hace el trabajo para mí - y no se requiere incluso - la fijación de un tipo tonto separada de Gradle + reacciona nativo cuestión módulo de compilación nativa. Así que, como truco de "Android Studio / gradle" para tener en tu bolsa de trucos, es bueno.
Mike Hardy
20
vaya a Archivo> Estructura del proyecto> DescargarNDK que descargará y agregará una ruta a sus propiedades locales que podrían arreglar las cosas si esta respuesta no funcionó
KingKongCoder
3
Cerré el proyecto, eliminé todas las carpetas de compilación, archivos .iml, carpeta .idea. Luego abrió el proyecto y se construyó con éxito
Dmitriy Pavlukhin
1
@KingKongCoder Encontré ese enlace en Archivo> Estructura del proyecto> Ubicación de SDK> Descargar NDK de Android
bitlather
18

Puede descargar el NDK desde Archivo> Estructura del proyecto> Elegir la ubicación del SDK en el panel izquierdo y presionar Descargar desde la parte de ubicación del NDK.

Zahra
fuente
9
No tiene ningún sentido si no lo usas.
El increíble
La pregunta es sobre el mensaje de error y una respuesta no debería requerir instalarlo para deshacerse del mensaje. El NDK es un paquete opcional
Mike Hardy
La respuesta es para cualquiera que use NDK y enfrente este error y en la pregunta no se menciona si usa NDK o no. @ The
Zahra
1
¡NDK ocupa casi 1 GB de su disco duro anterior! Y no estoy seguro de si hay algún otro impacto (como memoria, rendimiento, CPU, etc.). ¿Por qué necesitamos descargarlo si nunca se usa? ¿Podemos simplemente ignorar el error?
Pablo Alfonso
@Pablo Sí, si no usa NDK y ninguna de las respuestas ayudó, ignore el error.
Zahra
11

Estaba teniendo el mismo problema después de actualizar mi estudio de Android. Solo necesita abrir local.propertiesy cambiar la ndk.dirruta a su ruta NDK.

Código:

ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK
Shroffakshar
fuente
3
Estoy codificando con JAVA y no tengo NDK en absoluto
Farhad Farzin
2
Esto no tiene sentido si no tiene y no quiere el NDK. Es un componente opcional
Mike Hardy
local.properties dice "Este archivo es generado automáticamente por Android Studio. No modifique este archivo - ¡SUS CAMBIOS SERÁN BORRADOS!"
leoneboaventura
7

No uso NDK en mi proyecto, pero tuve el mismo problema. El problema desapareció después de que actualicé la versión del SDK a la compilación más reciente SDKVersion 29

Vlad
fuente
2
Interesante, pensé que tenía potencial, así que lo probé, todavía no lo resolvió por mí. Hay un problema abierto aquí issuetracker.google.com/issues/140403764
Mike Hardy
2
@MikeHardy actualmente estoy usando la versión 3.5.0 del complemento Gradle y la versión 5.4.1 de Gradle. Intente cambiar estas versiones, mientras que el error se solucionará. Espero que te ayude.
Vlad
1
¡Todo está actualizado pero sigue igual!
Sahan Pasindu Nirmal
6

Tuve una respuesta anterior (ya que fue eliminada por los moderadores) donde detallé que hay soluciones (como se enumeran aquí) que funcionan para algunos, pero que hay un error subyacente en gradle porque las soluciones no funcionan para todos (específicamente: ninguna de ellos funcionan para mi)

El problema relacionado con Google está aquí: https://issuetracker.google.com/issues/140403764

Actualización: a partir de hoy (20190920) indican que han solucionado el problema subyacente, por lo que esperaría que una versión futura de gradle después de hoy (20190920) contenga la solución.

Actualización 2: Hoy (20190926) recibí una respuesta de un administrador de Google que el código problemático estaba en Android Studio y está contenido en la rama de la versión 3.6, pero no está disponible en ninguna compilación disponible públicamente en este momento (Android Studio 3.6 Canary 12 fue lanzado justo antes de que se hiciera esta corrección). Eso le permite saber qué componente actualizar y a qué versiones prestar atención, de todos modos. Parece que Android Studio 3.6 Canary 13 y versiones posteriores deberían tenerlo https://issuetracker.google.com/issues/140403764#comment13

Hasta entonces, puede probar las soluciones alternativas, pero cuando hay un error del proveedor y las soluciones no funcionan, solo tiene que esperar un parche del proveedor.

Mike Hardy
fuente
5

Necesita instalar NDK usando el administrador de SDK Aquí están las instrucciones oficiales sobre cómo instalar el NDK https://developer.android.com/studio/projects/install-ndk

Thunderstick
fuente
4

Recibí este problema por primera vez después de actualizar de Android Studio 3.5.0 a 3.5.1 hoy.

Simplemente hice una reconstrucción desde el menú superior Build -> Rebuild Project.

Es posible que esto no funcione para todos dependiendo de la causa del problema, pero funcionó para el mío. Dale un tiro.

(Además, no uso el NDK y nunca lo he descargado antes. Aún no lo he descargado)

Ryan
fuente
1
Estoy usando AS 3.5.1, mi proyecto necesita NDK. Obtuve el error exacto, limpie y reconstruya lo solucionó. Lo suficientemente fácil como para probarlo primero antes de hacer cualquier otra cosa.
Sean
@Sean Nice, ¡me alegro de que haya funcionado! Por cierto, creo que la reconstrucción también comienza con una limpieza. Me di cuenta de eso una vez, cuando tenía abierta la barra de herramientas de construcción inferior y tenía "limpiar" como primera tarea. Desde entonces, comencé a trabajar solo en la reconstrucción. (Ojalá esté haciendo lo que creo que es lol).
Ryan
4

Si no está utilizando NDK, ignore el error.

He instalado NDK para ver si esto hace alguna diferencia. No hay diferencia (excepto por una carpeta NDK no utilizada de más de 2 GB :). Así que lo eliminé (es decir, eliminé la carpeta ndk y eliminé la variable de entorno NDK que configuró anteriormente).

Pablo Alfonso
fuente
3

Lo soluciono yendo al file > Invalidate Caches\Restart IDE, se reiniciará y el problema se solucionará

Hocine Djouamaa
fuente
vaya a 'archivo> estructura del proyecto> ubicación del SDK' y descargue el último NDK y vaya al proyecto 'local.properties' y especifique la ubicación del NDK como este 'ndk.dir = C \: \\ Users \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk '
Hocine Djouamaa
No tiene ningún sentido si no lo usa (NDK)
Sahan Pasindu Nirmal
3

Después de mi reciente actualización de Android Studio, tuve el mismo mensaje de error. Probé las otras respuestas aquí y ninguna funcionó. Pero la respuesta de @ Zahra me señaló algo que funcionó:

Vaya a Archivo-> Estructura del proyecto ... En " Ubicación del NDK de Android ", haga clic en el menú desplegable y seleccione la opción " Recomendado por NDK PREDETERMINADO ".

Había una ruta ligeramente diferente allí antes de seleccionar la predeterminada. En algún lugar de la actualización con el administrador de SDK, la ruta parece haber cambiado.

Y ahora, en el archivo local.properties, sdk.dir está configurado en el mismo directorio que la opción " Recomendado por NDK PREDETERMINADO ".

ByteSlinger
fuente
Después de probar al menos 5 'soluciones' diferentes, esta finalmente me volvió a encaminar, ahora para pasar a cualquiera que sea el próximo error de Android Studio ...
norlesh
2

Tuve el mismo problema. Mi entorno es:

  • Android Studio 3.5.1
  • Gradle 4.4
  • Complemento de Android-Gradle 3.1.2
  • CMake 3.10 y 3.6

Desinstalé CMake 3.10 por SDKManager. (CMake instalado es solo 3.6)

La sincronización y la compilación de Gradle se realizaron correctamente.

(1)

android-gradle-plugin 3.1.2 utilizó CMake 3.10.

En android-gradle-plugin 3.1.2 (o 3.1. +), La función de soporte para CMake 3.7 y superior es una función de vista previa.

(del mensaje de salida de gradle assembleDebugogradle sync .)

(2)

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

SDK Manager incluye la versión 3.6.0 bifurcada de CMake y la versión 3.10.2. Los proyectos que no establecen una versión específica de CMake en build.gradle se compilan con CMake 3.6.0.

Quizás este comportamiento sea android-gradle-plugin 3.3 o superior. (es de android-studio 3.3 que se puede descargar CMake 3.10)

android-gradle-plugin 3.1.2 utilizó la última versión de CMake instalado.

Yu Kakizaki
fuente
Me perdí que escribiste "Gradle 3.5" y "build-gradle back to 3.4.2".
Yu Kakizaki
2

También tuve el mismo problema en una Mac.

Sugerencia: Obligue a la carpeta .gradle a reconstruirse.

Esto todavía muestra la 'Versión NDK es DESCONOCIDA' en el Registro de eventos, pero se compila correctamente y no me da ningún problema. (No tengo NDK descargado)

  1. Abra su carpeta / Users / macuser /
  2. Presione CMD + MAYÚS +. (punto / punto) para ver las carpetas ocultas
  3. BORRAR carpeta .gradle
  4. Reinicie Android Studio

Esto hará que Android Studio reconstruya y vuelva a descargar su carpeta .gradle arreglando sus archivos conflictivos en el proceso.

zorro
fuente
Esto funcionó para mí, pero solo la primera vez. Si volvía a abrir el proyecto sin eliminar primero .gradle, obtendría el mismo error que antes.
Kyle Abens
Sí, parece que el error permanecerá en el registro. El mío también lo tiene en curso, pero el proyecto se construye y funciona bien.
Fox
1

El problema se resuelve cuando actualicé la versión del complemento Gradle de Android de 3.1.4 a 3.4.0 y la versión de Gradle de 4.4 a 5.1.1 al mismo tiempo. Por supuesto, descargué el NDK (Side by Side) más nuevo con el administrador de SDK.

Hai-Yang Li
fuente
También tuve que actualizar mi versión de
Gradle
1

Tuve el mismo error después de agregar un par de bibliotecas en el build.gradlearchivo de nivel de aplicación .
La solución fue simplemente limpiar el proyecto .
En la barra de menú, elija: Build >> Clean Project
Después de eso, el error desapareció para mí. No hice nada más.

Abdallah
fuente
1

En mi caso, Android Studio se instaló en una nueva Mac. Solo necesitaba descargar Android 9 (mi SDK de destino / compilación era 28) y compilar herramientas. El problema se resolvió después de esto.

Vlad B
fuente
1

En mi caso, lo soluciono actualizando a SdkVersion 29 y migrando a AndroidX.

AissaDevLab
fuente
1
la actualización de la versión de destino y compilación a sdk 29 funcionó para mí: D
Ziad H.
0

Después de actualizar, tengo el mismo problema en uno de mis proyectos. Lo resolví simplemente eliminando la línea ndk.dir = D: \ Android \ SDK \ ndk-bundle del archivo local.properties.

Activo
fuente
1
La respuesta podría ser más valiosa al indicar cómo sabía dónde encontrar el archivo en Android Studio o en el sistema de archivos y su razonamiento para determinar ese era el cambio a realizar.
Reenactor Rob
5
ndk.dir no está configurado en mis proyectos. Nunca usé NDK. Sin embargo, aparece este "error" en Android Studio 3.5.
El increíble
Al igual que The Incredible Jan, esto no estaba en mis propiedades locales, pero todavía recibo este mensaje. Por lo tanto, no es una solución completa, pero tal vez podría ayudar a algunos
Mike Hardy
0

Recibí este error (y varios otros) después de importar un proyecto desde el control de versiones a través del hipervínculo de Bitbucket.

Una vez importado, cierre el proyecto y vuelva a importarlo usando File > New > Import Project. Después de eso, todo se construyó correctamente. (La ruta del NDK ya se especificó correctamente y solo se importó como nueva)

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

Blaze Gawlik
fuente
0

Problema resuelto para mí después de verificar Sugerencias en la estructura del proyecto y actualizar las dos actualizaciones sugeridas. Lo siento, no puedo recordar los nombres de los módulos, ya que desaparecieron tan pronto como presioné actualizar para cada uno de ellos y sincronizar gradualmente. comenzó automáticamente y después de que este problema desapareciera

mamadsp
fuente
0

La degradación de la versión ndk de 20 a r17c y la versión cmake de 3.10 a 3.6.411459 me resolvió el problema

asif khan
fuente
0

Tuve el mismo problema después de actualizar Android Studio. Mi problema se resuelve después de actualizar Android SDK Build-Tools. [Herramientas-> SDK Manager-> SDK Tools-> Android SDK Build-Tools].

Luego intente Limpiar el proyecto [Construir-> Limpiar Proyecto].

Finalmente reinicie el IDE de Android Studio ...

Joyal Jose
fuente
0

Acabo de cerrar el proyecto, cerré Android Studio, reinicié mi PC, rastreé mi proyecto y eliminé la carpeta .Idea en "B: /PROJECTNAME/.idea" y listo.

Problema resuelto. Se resincroniza. N / B: mi gradle es androidx. buena suerte a alguien.

Kalaiyo5
fuente
0

Cambie claaspath a 'com.android.tools.build:gradle:3.5.2' en el script build.gradle

Bidyut
fuente
0

Okay. Recientemente descargué la última versión de Android Studio y obtuve un error similar. Así que finalmente creé un nuevo proyecto. Idioma Kotlin seleccionado y luego Jelly Bean (hablando de las opciones para elegir). Luego comenzó toda la sincronización, pero la primera sincronización falló y, finalmente, se volvió a sincronizar automáticamente y todo comenzó a funcionar. Modifiqué los códigos predeterminados (texto) ya que soy un principiante pero no recibí mensajes de error. La vista previa estuvo bien y continué mi aprendizaje. Siento no poder explicarlo mejor. Solo soy un principiante. Oh! Necesita estar conectado a Internet para que funcione.

ANTHONY MELAH
fuente
0

Si este problema ocurrió después de una actualización de Android Studio e inició una actualización del complemento desde la notificación inferior derecha: Abrir File > Project structure , luego cambie la versión de Android Gradle a su versión de Android Studio y baje la versión de Gradle a la anterior.

En mi caso, bajé el complemento de Android Gradle de 3.5.3 a 3.2.1 y la versión de Gradle de 5.4.1 a 4.6.

Walelgn
fuente
0

Modifiqué la versión gradle del archivo gradle-wrapper.properties de 4.1 a 4.6.

Jokeen
fuente
0

Tuve este problema y ninguna de las soluciones me funcionó. El problema es que este error o advertencia puede aparecer por razones muy amplias. Puede seguir estos pasos para averiguar cuál es el problema:

Falta el NDK

Cuando Gradle comienza a compilar dependencias nativas, crea la carpeta ".cxx" en la carpeta "aplicación". dentro de esa carpeta puede encontrar el archivo "ndk_locator_record.json", que es un tipo de archivo de registro muy extraño. Básicamente son todas las rutas que Gradle comprueba para encontrar la carpeta NDK. Si hay algún error o discrepancia en los números de versión del NDK, puede verlo en este archivo.

La compilación del NDK falla

por algunas razones desconocidas (tal vez un error en Gradle) ndk build no muestra un error real en la ventana de registro de eventos, en su lugar muestra un error, como la sincronización de Gradle falló: ejecutando compilación nativa externa para ndkBuild ... siguiendo por NDK Resolución Resultado: Proyecto configuración: versión del modelo Gradle = 5.4.1, la versión NDK es DESCONOCIDA .

En este caso, regrese a .cxx> ndkBuild> debug> x86 (x64 o cualquier otro cpu arch) Aquí en esta carpeta puede encontrar el archivo "json_generation_record.json", es el mismo tipo de registro, generalmente la última entrada tiene el error real . Por ejemplo, para mi fue

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

Desde aquí tiene un punto de partida para descubrir qué está mal bajo el capó.

Keivan
fuente
0

Si el NDK no está instalado y el Proyecto de Android lo requiere, primero instale el NDK.

En el sistema operativo Windows, agregue la ruta NDK a la variable de entorno PAT H. Esto solucionará el problema de la versión.

En mi caso, la ruta del NDK es C: \ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669

tanni tanna
fuente
0

Enfrenté este problema antes y lo solucioné asegurándome de tener los permisos correctos para el directorio de la aplicación.

Estoy usando macOS, así que lo hice:

chmod -R 777 your_android_project

y el problema desapareció.

Mohammad Salem
fuente
-1

También tengo este problema cuando actualicé la versión del complemento Gradle de Android de 3.1.2 a 3.5.1

A continuación se explica cómo solucionar este problema:

Vaya a gradle.properties filela carpeta raíz de su proyecto y agregueandroid.useDeprecatedNdk=true

inggo topan
fuente