Quiero compilar un proyecto de Android de código abierto (Netguard) usando gradel ( gradlew clean build
) Pero encontré este error:
A problem occurred configuring project ':app'.
> Exception thrown while executing model rule: NdkComponentModelPlugin.Rules#cre
ateToolchains
> No toolchains found in the NDK toolchains folder for ABI with prefix: llvm
Me puse a buscar pero no encontré nada que me ayudara. Aquí está el principal build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha1'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Y aquí está el build.gradle
del app
proyecto:
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
applicationId = "eu.faircode.netguard"
minSdkVersion.apiLevel = 21
targetSdkVersion.apiLevel = 23
versionCode = 2016011801
versionName = "0.76"
archivesBaseName = "NetGuard-v$versionName-$versionCode"
}
}
android.ndk {
moduleName = "netguard"
toolchain = "clang"
ldLibs.add("log")
}
android.sources {
main {
jni {
source {
srcDir "src/main/jni/netguard"
}
exportedHeaders {
}
}
}
}
android.buildTypes {
release {
minifyEnabled = true
proguardFiles.add(file('proguard-rules.pro'))
ndk.with {
debuggable = true
}
}
}
android.buildTypes {
debug {
ndk.with {
debuggable = true
}
}
}
android.productFlavors {
create("all") {
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.+'
compile 'com.android.support:recyclerview-v7:23.1.+'
compile 'com.squareup.picasso:picasso:2.5.+'
}
Y estoy usando gradle-2.9-all
y android-ndk-r10e
. No sé si debería mencionar algo más, así que comente si necesita información.
Respuestas:
Han pasado dos años, ahora si te encuentras aquí, es posible que encuentres un mensaje de error como este:
o
El último NDK eliminó el soporte para
mips
abi, y la versión anterior del complemento de gradle de Android aún verifica la existencia de la cadena de herramientas mips. ver aquí para más información .Solución : Actualice el complemento de Android Gradle a 3.1 o posterior.
Por ejemplo, agregue seguimiento en el nivel de proyecto gradle [28-sept-2018]
Solución alternativa :
mipsel-linux-android
cree una estructura de carpetas para engañar a la herramienta. La forma más fácil sería un enlace simbólico aaarch64-linux-android-4.9
.Consulte este hilo de tres opciones para resolver este tipo de problema
fuente
build.gradle
archivo, algo asícom.android.tools.build:gradle:3.2.0-rc02
, no la versión Gradle# on Mac cd ~/Library/Android/sdk/ndk-bundle/toolchains ln -s aarch64-linux-android-4.9 mips64el-linux-android ln -s arm-linux-androideabi-4.9 mipsel-linux-android
mklink /d mips64el-linux-android aarch64-linux-android-4.9
ymklink /d mipsel-linux-android arm-linux-androideabi-4.9
funcionó para mí también.Para Android Studio 3.2.1+
Actualice su complemento Gradle
Si ahora recibe este error:
simplemente agregue google () a sus repositorios, así:
Happy Coding - :)
fuente
Solucioné este error desinstalando el NDK en SDK-Tools. Entonces, si no necesita el NDK, desinstálelo.
fuente
Me he enfrentado al mismo problema al actualizar Android Studio de 2.0 a 2.1 en mi máquina con Windows 8.
Encontré una solución para eso. Siga los siguientes pasos.
Esto está sucediendo porque el estudio de Android no recibirá una actualización completa de NDK en el canal estable. Si no está utilizando NDK para el desarrollo de su proyecto, simplemente puede eliminar la carpeta NDK de su directorio SDK.
fuente
Error : Android MIPS ToolChain directory "" does not exist
" en Game Maker Studio 2 en una Mac. Pero necesitaba obtener la versión 17c del NDK desde aquí: developer.android.com/ndk/downloads/older_releases (según: reddit.com/r/gamemaker/comments/9m958a/… ) ¡Gracias @nithinjith! ... todavía no está construyendo, sin embargo, tengo que resolver:Android NDK: Please fix the APP_ABI definition in /Users/../Library/Android/sdk/ndk-bundle/build/core/default-application.mk
Mensaje de error: "No se encontraron cadenas de herramientas en la carpeta de cadenas de herramientas NDK para ABI con el prefijo: llvm".
Después de una nueva instalación web de Android Studio con NDK, importé una muestra de código de Android que usaba NDK de GitHub e intenté compilarlo.
Como resultado tuvo un error:
Solución: por alguna razón, el proceso de instalación estándar en macOS no pudo instalar un conjunto completo:
~/Library/Android/sdk/ndk-bundle
había perdido la carpetatoolchains
con todas las herramientas,(debería ser así:
~/Library/Android/sdk/ndk-bundle/toolchains
)La solución fue descargar NDK por separado, abrirlo, copiar la carpeta
toolchain
y pegarlo en la carpeta:Después de eso funcionó bien para mí.
fuente
Paso a paso:
1) Abra la página con versiones antiguas de NDK :
https://developer.android.com/ndk/downloads/older_releases
2) Acuerde los términos:
3) Descargue la versión anterior de
NDK
(por ejemplo, 16b):4) Abre tu
toolchains
directorio.5) Transfiera los archivos que necesita de la
toolchains
carpeta del archivo zip descargado a sutoolchains
carpeta:6) Reconstruir el proyecto:
UPD 30 sep 2018:
utilicé Android NDK Revision r16b para corregir este error en mi propio caso. Así que les presento el ejemplo con esta versión.
Pero es mejor usar el NDK de Android, Revisión r17c (junio de 2018). Es el último, apoyando mips (recomendación razonable del comentario de Weekend).
fuente
(for example 16b)
, es mejor aclarar qué versión de NDK es la última que admite mips. a través de la nota de lanzamiento de Android NDK Revision r17c (junio de 2018) : se ha eliminado la compatibilidad con ARMv5 (armeabi), MIPS y MIPS64. Intentar construir cualquiera de estos ABI resultará en un error. Es16b
exactamente16b
exactamente. r17c es la primera versión que eliminó el soporte para MIPS :)Sin descargar, copiar ni simular nada, pude "arreglar" el error simplemente creando un directorio vacío donde la versión anterior del complemento Android Gradle espera la cadena de herramientas mips eliminada:
Obviamente,
$ANDROID_HOME
apunta a la raíz de la instalación del SDK de Android aquí. Si está utilizando MacOS , reemplácelolinux-x86_64
condarwin-x86_64
el comando anterior. En uso de Windowswindows-x86_64
.fuente
Desinstalé el NDK ya que no lo necesitaba. Vaya al administrador de SDK en el estudio de Android (Herramientas -> Android -> Administrador de SDK). Si NDK está instalado. Simplemente desmarca la casilla y haz clic en Aceptar. Los componentes instalados serán eliminados.
fuente
En mi caso, este error ocurrió al crear un nuevo proyecto Java de Android Studio (Android studio 3.2.1) con
Así que me he degradado a
No es la mejor solución quedarse en una versión anterior, pero tal vez sea solo un error temporal en la versión beta ya que la ruta NDK en local.properties sigue siendo la misma, pero el IDE ya no se queja
fuente
Parece que Android NDK 18.0 * tiene un problema al no crear todos los archivos en carpetas después de la extracción. Debido a esto, la compilación de su aplicación fallará y usará compilaciones ndk.
Es mejor usar la versión NDK 17.1 * ( https://developer.android.com/ndk/downloads/ ) etc. y puede extraer o usar la extracción de Android Studio para que ndk-bundle funcione de manera predeterminada.
fuente
[ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/androidfont>[1]
Para las personas que prueban este ejemplo y enfrentan problemas con el último NDK. Puede seguir esta solución. En build.gradle cambia esto
A
La razón es que los mips están en desuso en las últimas versiones de ndk, la versión 3.1.2 de Gradle no tendrá una compulsión por los mips. Asume la presencia de estas carpetas faltantes.
fuente
Abra Android Studio, vaya a Herramientas, luego Android y luego SDK, desactive NDK si no lo necesita y reinicie Android Studio.
fuente
La solución simple es descargar y extraer el siguiente archivo que contiene las carpetas mips64el-linux-android-4.9 y mipsel-linux-android-4.9, a su carpeta de cadenas de herramientas dentro de SDK "android-sdk \ ndk-bundle \ toolchains".
Descargue este archivo y extraxt a tonto de cadenas de herramientas
fuente
En su archivo de Gradle de nivel de proyecto, aumente la versión de classpath de dependencias de menor a mayor como
para cambiar como
fuente
Lo resolvió agregando
google()
dependencia en ambos repositorios enbuild.gradle
(Project: ProjectName). luego sincroniza tu proyectofuente
He tenido un problema similar, pero quería usar la versión r9d de NDK debido a los requisitos del proyecto.
En
local.properties
el camino se estableció enndk.dir=C\:\\Android\\ndk\\android-ndk-r9d
pero eso condujo al problema:La solución fue:
sdk\ndk-bundle\toolchains
a\ndk\android-ndk-r9d\toolchains
Me parece que las cadenas de herramientas copiadas no se usan, pero por alguna razón es necesario que estén allí.
fuente
Resolví esta pregunta por ndk sin instalar, porque no la necesito
fuente
Aquí está la solución.
Al compilar un proyecto en Android Studio, ocasionalmente encuentro:
Esto puede deberse a la actualización de componentes relacionados. La solución es Android Studio (Herramientas -> Android -> SDK Manager). Seleccione el elemento ndk y elimínelo. Si el programa lo necesita, puede reinstalarlo. Esto asegurará que la ubicación de la carpeta sea correcta y no habrá tal problema.
fuente
Para arreglarlo como lo hice
Android Studio File> estructura del proyecto e ir al proyecto
cambie la versión de Gradle a 4.6 y la versión del complemento de Android a 3.2.1
comprobar captura de pantalla
luego limpie el proyecto si recibió este error "No se pudo encontrar aapt2-proto.jar"
ir a build.gradle (proyecto)
Intente mover el método google () (archivo .gradle) a la parte superior de su ejecución, bloquee el orden de los repositorios en los que busca el problema.
por ejemplo, cambie esto:
A esto:
Realice esos cambios tanto en "buildscript" como en "allprojects"
comprobar captura de pantalla
Si no encontró google () agréguelo
fuente
Para Android Studio 3.2.1 Actualice su
Gradle Versión 4.6
Complemento de Android versión 3.2.1
fuente
El problema surge principalmente cuando clonas un proyecto anterior especialmente desde github. Lo que puedes hacer es
classpath 'com.android.tools.build:gradle:3.2.1'
en tu proyecto gradle nivel.
Luego cambie todas las instancias de compilación con implementación, excepto compileSdkVersion, manténgalo como está en su nivel de aplicación.
En lugar de sincronizar, ahora haga clic en hacer proyecto (Ctrl + F9)
Agregue repositorios de Google Maven si es necesario.
Actualice la envoltura de gradle si es necesario.
(Android Studio IDE le preguntará / guiará con lo mismo para los pasos 4 y 5)
se arregla !! Disfruta la codificación
fuente
NOTA: Esta respuesta parece ser específica para:,
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
pero se vinculó aquí por:* /programming/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l
Desde NDK r19b:
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
, actualice su archivo de proyecto a [use la versión del complemento 3.1 o posterior]. También deberá actualizar a Android Studio 3.1 o posterior.fuente
Si no usa el NDK, desactive la variable de entorno
ANDROID_NDK_HOME
.fuente
Para mí, creo que podría haber algún problema al instalar Android NDK desde Android Studio. Pude resolver esto de la siguiente manera
Android ndk descargado desde
https://developer.android.com/ndk/downloads/index.html
y colocado dentro de ndk-bundle (donde está instalado su sdk de Android). Para obtener más información, consulte estas pantallas.
https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn
fuente
Si está utilizando Ionic 3, elimine ndk de las herramientas sdk de android studio.
fuente
Encuentre su propio Android-SDK local, si descarga el SDK relevante de ndk, habrá una carpeta llamada "ndk-bundle"
Dentro hay una carpeta llamada "cadenas de herramientas".
Notamos que no hay archivos relacionados con mips64el dentro.
La solución es la siguiente:
Haga clic aquí para descargar el paquete NDK por separado a través del navegador. Después de descomprimir, abra la carpeta "toolchains", compárela con la carpeta android-sdk-> ndk-bundle-> toolchains, encuentre la carpeta que falta, copie el pasado 3. Recompile, el problema está resuelto. Espero que te ayude compañero
fuente
Enfrentando el mismo problema.
Obtuve el éxito siguiendo formas.
Abra su archivo buldle.gradle y actualice las versiones para seguir ambos classpath
classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.google.gms: google-services: 4.2.0'
Luego sincronice y luego obtenga un dilaog para actualizar la versión de Gradle, luego haga clic en ese enlace y espere a que se descarguen todas las actualizaciones requeridas (Hope Internet disponible). Después de tomar mucho tiempo, tienes éxito.
fuente
Primero, intente actualizar la versión ndk https://developer.android.com/ndk/downloads/
Si eso no funciona, puede intentar lo siguiente:
Crear una carpeta
Vaya a la carpeta Sdk \ ndk-bundle \ toolchains (en mi caso es C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains; puede encontrar el suyo en Archivo-> estructura del proyecto-> SDK ubicación en su estudio de Android) y cree una carpeta con el nombre que se muestra como faltante en el error, por ejemplo: si el error es
Luego cree una carpeta con el nombre mipsel-linux-android
Incluir contenido Vuelva a la carpeta Sdk \ ndk-bundle \ toolchains nuevamente y abra cualquier carpeta que ya esté en ella. Por ejemplo: Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9 (en mycase C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9) copie la carpeta preconstruida en ella a la carpeta que creamos en el último paso
Ejecute el proyecto nuevamente y funcionará
¡¡Espero eso ayude!!
fuente
En mi experiencia limitada con esta pregunta, trato de resolver el problema usando el método siguiente:
1.Mantenga la versión de las herramientas de compilación de Android de la misma manera que la versión de gradle. Por ejemplo: si usa la versión de herramientas de compilación es 3.3.0, su versión de gradle debe ser 4.10.1. Puede hacer referencia mediante el enlace https://developer.android.com/studio/releases/gradle-plugin y cambiar su herramientas de construcción y versión de gradle en su AS (Archivo-> Estructura del proyecto-> Proyecto)
2.Si el método1 no funciona, puede personalizar su versión de cadenas de herramientas ndk para resolver el problema: como descargar ndk18 o ndk16, configurar la ruta ndk es su AS (Archivo-> Estructura del proyecto-> Ubicación SDK-> Ubicación Android NDK)
fuente
Navegar a
C:\Users\lalit\AppData\Local\Android\Sdk\ndk-bundle\toolchains
.Ahora, busque el nombre de la carpeta
aarch64-linux-android-4.9
y cámbiele el nombre amips64el-linux-android
.Vuelva a ejecutar la aplicación de Android.
fuente