Gradle NDK para especificar una directiva 'include' en Android.mk generado
Cuando tengas
android { defaultConfig { ndk { moduleName "yourlib" stl "stlport_static" ldLibs "log", "z", "m" cFlags "-I/some/include/dir/" } ... } ... }
En su build.gradle entonces Gradle compilará los archivos en src / main / jni / y generará un Android.mk en build / ndk / debug / Android.mk.
- Android Studio 1.5 Opencv 3.0.0 calibración de la cámara de muestra se estrelló
- No se puede construir caffe en android
- ¿Cómo encontrar los contornos de un marco de una cámara Android y convertirlos en cuerpos box2d?
- Muestra de detección de caras de opencv
- OpenCV Android - No se puede resolver la función JNI correspondiente
Sin embargo, en mi caso, estoy tratando de compilar algunos archivos C ++ compilados contra OpenCV.
Tengo esto funcionando cuando creo manualmente el archivo Android.mk y ejecuto el comando ndk-build. Pero quiero hacerlo a través de Gradle / Android Studio automáticamente.
Al hacer esto manualmente, incluyo las bibliotecas para vincularlas. Hago esto, en el Android.mk creado manualmente, con la línea:
include /path/to/the/opencv/directory/sdk/native/jni/OpenCV.mk
Sin embargo, en el complemento Gradle de Android, no estoy seguro de cómo añadir esta directiva 'include' en el archivo Android.mk generado.
¿Puede alguien apuntarme en la dirección correcta de Gradle-directiva para agregar esta línea al archivo de generar? Gracias.
- Cómo leer el valor de cada píxel como valores RGB del objeto Mat m en OpenCV
- ¿Qué es carotene_o4t y por qué causa problemas con la compilación de un programa utilizando opencv con Qt en Android?
- OpenCV 2.4.1: UnsatisfiedLinkError
- OpenCV en Android con Eclipse
- Cómo poner el marcador estable (círculo sólido en la imagen). ¿Cuál estará en la misma posición en el próximo marco de la cámara?
- (OpenCV) no puede encontrar Core.line en Android Studio
- Animar la imagen de la cara - usando deformación?
- Convertir Vec4i a Java openCV
He descubierto que el proceso de compilación tirará de todo debajo de la carpeta ./src/main/jni. Por lo tanto, he colocado enlaces simbólicos allí para incluir y las carpetas src en otro lugar – los archivos src se enumerarán en el archivo .mk por el proceso de construcción y los archivos inc serán recogidos por el compilador. Tal vez es un poco hacky:
android { defaultConfig { ndk { moduleName "yourlib" cFlags "-std=c99 -I${project.buildDir}/../src/main/jni/inc" } ... } ... }
También tengo cFlags diferentes dependiendo de la compilación de depuración. Esto parece ser gradle válido, pero no quiere construir con android-studio. Se construirá con el comando gradlew tho:
android { defaultConfig { ndk { moduleName "yourlib" cFlags "-std=c99 -I${project.buildDir}/../src/main/jni/inc" } ... } ... buildTypes { release { debuggable false jniDebugBuild false ndk { moduleName "yourlib" } } debug { debuggable true jniDebugBuild true ndk { moduleName "yourlib" ldLibs "log" cFlags "-g -D_DEBUG" } } } }
Espero que pueda ayudarte (android-studio 0.8.6).
- Android Studio no identifica el archivo xml como archivo de diseño
- Facturación en la aplicación Android – restoreTransactionInformation