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 OpenCV Mejora de la calidad de detección
- Abrir muestra de muestras de CV para OpenCV Manager descargar
- Construcción de TBB con la muestra de OpeCV android
- OpenCV FeatureDetector
- TemplateMatching mattoBitmap opencv para android
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.
- Reconocimiento de monedas en Android
- Cómo obtener el objeto Mat desde el byte en openCV android?
- Cómo averiguar la cara detectada es real o falsa
- ¿Cómo guardar las características de Keypoint de OpenCV en la base de datos?
- Detección de características faciales con OpenCV Android
- Documentación de OpenCV para Android
- Substracción de fondo de OpenCV Android
- Android - utiliza la cámara sin vista de superficie o textureview
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