Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android Studio falló la construcción NDK proyecto de valor de salida no cero

Importé un proyecto en el que estuve trabajando desde un entorno Eclipse Android SDK al nuevo Android Studio. Tratando de ejecutar el proyecto, obtengo este

Error:Execution failed for task ':app:compileDebugNdk'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'ndk/ndk-build'' finished with non-zero exit value 2 

Así que en primer lugar para mí es extraño ver este error, porque el trabajo en Eclipse Android SDK antes, corrí ndk-construir por mí mismo que todavía lo hago. ¿Así que Android Studio está ejecutando ndk-build para mí ahora? Porque cuando lo ejecuto en Terminal no tengo ningún problema en absoluto y aquí me dice mala salida-valor.

Y luego busqué en Internet y encontré una "solución rápida", que es crear un archivo .c vacío, porque no se puede construir / ejecutar proyecto ndk sin archivos .c. Esto, no es de extrañar, no funciona para mí porque tenemos muchos archivos .c en la carpeta .jni.

Sólo mencionar que estoy en un Macbook Pro bajo Yosemite, y el proyecto no debería tener problemas en sí mismo.

Gracias de antemano por cualquier ayuda.

  • Cambiar las versiones de prueba y pro con las aplicaciones de Android en Eclipse: ¿cómo hacerlo menos doloroso?
  • Firma de sabores de productos con gradle
  • Quiero personalizar el proceso de compilación mientras uso el complemento de Android Eclipse ADT
  • Com.android.ddmlib.AdbCommandRejectedException: dispositivo desconectado (incluso cuando el dispositivo está conectado)
  • Building Boost para Android con error "no puede encontrar -lrt"
  • Clean Blank Android App falla al construir - 'no pudo encontrar Build Tools revisión 23.0.0 rc1'
  • Android studio 2.0 bug: no hay cambios para implementar
  • Cómo acelerar las creaciones de android ndk
  • 6 Solutions collect form web for “Android Studio falló la construcción NDK proyecto de valor de salida no cero”

    Este es un problema conocido de Android Studio, causado por el apoyo muy limitado de proyectos habilitados para NDK. Respondiendo a tu pregunta: sí, Android Studio ahora ejecuta ndk-build por sí solo, pero ignora Android.mk existente y genera uno sobre la marcha (y lo hace mal para cualquier proyecto no trivial de NDK habilitado). Prácticamente, la mejor manera de arreglar esto es deshabilitar el soporte NDK limitado de Android Studio y llamar a ndk-build desde el script gradle. Aquí lo he descrito con más detalle y cómo arreglarlo.

    Para simple, puede intentar insertar sourceSets.main.jni.srcDirs = [] al bloque android en el archivo build.gradle. Esto le dirá gradle para buscar sus archivos C ++ en el camino diferente.

    Puede desactivar compileDebugNdk , pero todavía tiene la carpeta jni visible en Android Studio. En su build.gradle , agregue la siguiente cláusula:

     tasks.all { task -> if (task.name.startsWith('compile') && task.name.endsWith('Ndk')) { task.enabled = false } } 

    Casi probé todas las soluciones disponibles. Yo uso Windows 10, Android Studio 1.5.1 y lo único que funcionó, es la solución aquí ( http://answers.opencv.org/question/58551/androidstudiondk-finished-with-non-zero-exit-value2/ )

    En la aplicación> build.gradle, agregue esto bajo el objeto android.

     android{ ... sourceSets { main { res.srcDirs = ['src/main/res'] jniLibs.srcDirs = ['src/main/jniLibs'] jni.srcDirs = [] // This prevents the auto generation of Android.mk } } 

    En esta versión de Android Studio, agregar la ruta NDK en Archivo> Estructura del proyecto> Ruta NDK agrega automáticamente al archivo local.properties, no editas nada más.

    Para ver cuál es el problema exacto, haga lo siguiente:
    1- Asegúrese de que ha establecido la ruta ndk correctamente, por ejemplo en mi proyecto puse ndk.dir=/usr/local/opt/android-ndk-r13b en el archivo local.properties
    2- Vaya al directorio de aplicaciones de la aplicación para Android
    3- Ejecute este comando: <ndk_build_path> -C <jni_path> NDK_OUT=<jniLibDir> all NDK_DEBUG=1 ejemplo:

     /usr/local/opt/android-ndk-r13b/ndk-build -C /MYAPP/app/src/main/jni -j 4 NDK_OUT=../jniLibs all NDK_DEBUG=1 

    Entonces usted puede ver lo que está mal.

    Encontró el mismo error al importar un proyecto desde windows a mac, probé todas las soluciones anteriores, no funcionó. Finalmente notó que había "múltiples patrones de destino" que estaba causando este error.

    Solución : Elimine la carpeta "obj" dentro de su NDK y reconstruya.

    Hecho !!

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.