Integración de dependencias de Android Studio y Gradle

Estoy siguiendo este tutorial, pero con Android Studio. He realizado los siguientes pasos:

Creación de un nuevo proyecto en Android Studio

Agregar el OpenCV-2.4.5-sdk / sdk / java como un módulo

Hizo clic derecho en mi módulo principal-> Cambiar la configuración del módulo-> agregó el módulo opencv anterior como una dependencia

Para mi MainActivity utilicé el código siguiente (despojado de uno de los ejemplos):

package com.example.test; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import org.opencv.android.BaseLoaderCallback; import org.opencv.android.CameraBridgeViewBase; import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener; import org.opencv.android.LoaderCallbackInterface; import org.opencv.android.OpenCVLoader; import org.opencv.core.Mat; public class MainActivity extends Activity implements CvCameraViewListener { private CameraBridgeViewBase mOpenCvCameraView; private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("Yay", "OpenCV loaded successfully"); mOpenCvCameraView.enableView(); } break; default: { super.onManagerConnected(status); } break; } } }; @Override public void onResume() { super.onResume(); OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_5, this, mLoaderCallback); } @Override public void onCameraViewStarted(int width, int height) { } @Override public void onCameraViewStopped() { } @Override public Mat onCameraFrame(Mat inputFrame) { return null; } } 

El editor de texto de Android Studio podría identificar los paquetes que he importado (como org.opencv.android) pero cuando lo compilé recibí estos errores:

 Gradle: error: package org.opencv.android does not exist Gradle: error: package org.opencv.android does not exist Gradle: error: package org.opencv.android.CameraBridgeViewBase does not exist 

¿Alguien sabe por qué pasa esto?

Yo estaba teniendo un problema similar con mi Android Studio en OS X. Escribo el código, y Android Studio vería el archivo .jar que estaba haciendo referencia, y había declarado dependencias, pero cuando llegó el momento de Gradle para construir el proyecto, no ir.

Abrí el archivo 'build.gradle' y tuve que añadir manualmente dependencias. Por ejemplo, aquí está mi archivo completo:

 buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile files('libs/android-support-v4.jar') compile files('libs/gson-2.2.4.jar') compile files('libs/jsoup-1.7.2.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 16 } } 

Como se puede adivinar, las líneas que he añadido son las que hacen referencia a Gson y Jsoup.

Inspirados por esta respuesta , estos son los pasos que hice:

  • Coloque el archivo OpenCV 2.4.5 jar (en mi caso, 'opencv-library-2.4.5.jar') en la carpeta libs de su proyecto
  • Haga clic derecho y seleccione Agregar como biblioteca
  • Escriba esto en la parte de dependencias del archivo build.gradle : compile files('libs/opencv-library-2.4.5.jar')
  • Hacer una construcción limpia. Se puede hacer dentro del estudio de Android, pero también corrió el gradlew.bat incluido dentro de la carpeta del proyecto

Ahora, el proyecto debe ser construido y ejecutado muy bien.

Nota: En las versiones posteriores de OpenCV (por ejemplo, 2.4.7), la biblioteca se puede encontrar en ...\build\java .

Me encontré con un problema similar.

En mi caso, Android Studio no pudo agregar la dependencia de Gradle para mí. Tuve que añadir yo mismo en el archivo gradle de mi proyecto:

Proyecto de compilación (": openCVLibrary2410")

Resolvió el problema. Espero que esto ayude.

Más reciente he resuelto el problema descrito anteriormente por:

  1. Haciendo clic derecho sobre el proyecto,
  2. Abrir los ajustes del módulo (F4)
  3. Abra el panel de pestañas de dependencias
  4. Haga clic en +, agregue la dependencia del módulo (con la opción de compilación)

Entonces todo funcionó bien. La biblioteca opencv es otro módulo en mi proyecto

He encontrado una solución y ahora todo está funcionando.

Tuve que construir un archivo Jar (openCV.jar) y luego lo agregé como una biblioteca en lugar de un módulo, finalmente en el archivo gradle.build He añadido esta línea

compile files('libs/openCV.jar') .

Así que finalmente consigo usar el código de la biblioteca y mi compilación está bien.

No sé si esto es bueno. Pero así fue como lo hice. Espero eso ayude.

Tratar de añadir a la dependencia en Android Studio es infructuoso hay un error .

Prueba esto en su lugar:

  • Descargar OpenCV-2.4.5-android-sdk.zip desde el sitio OpenCV

    • Extraer a donde nunca como OpenCV-2.4.5-android-sdk, el mío pasó a ser

      /home/anthony/Documents/OpenCV-2.4.5-android-sdk/

    • Abra IntelliJ y elija Importar

    • Seleccione la carpeta que desea importar

      /home/anthony/Documents/OpenCV-2.4.5-android-sdk/sdk/java/

      El tuyo será un poco diferente, no te preocupes, sólo tienes que elegir donde se extrajo OpenCV-2.4.5-android-sdk

    • Una vez finalizado el Asistente de importación, genere la aplicación con el menú

Construir -> Reconstruir proyecto

  • Cerrar proyecto

  • Crear nuevo o abrir un proyecto existente
  • Entonces

Archivo-> Módulo de importación

  • Esta vez seleccione

/home/anthony/Documents/OpenCV-2.4.5-android-sdk/sdk/java/XXX.iml

La mía era sdk.iml, pero la tuya podría ser cualquier cosa, pero sólo habrá una

Iml archivo Seleccionar archivo iml para importar el módulo

Ahora puede comenzar a usar las funciones de OpenCV, comience escribiendo

Org de importación.

Una vez que escriba el período IntelliJ debe dejar caer una lista de opciones, una de las cuales es

Opencv

Ahora OpenCV está correctamente integrado en su IDE

El resto depende de usted.

En mi intellij IDE, i fijado de la siguiente manera:
– apunte a su aplicación (dentro de su proyecto) y haga clic en F4 (el ajuste de Módulos está enfocado por defecto)
– seleccione Android-Gradle
– seleccionar ficha Dependencias
– añadir (seleccionar + botón en la parte superior derecha) dependencia: puede seleccionar añadir por maven, archivo o … dependen de usted. En mi caso, agrego opencsv nuevo de maven.
– haga clic en Aceptar para finalizar, su proyecto se reconstruirá automáticamente.

HECHO.

  • Substracción de fondo de OpenCV Android
  • ¿Cómo obtener el nivel de Compensación de exposición de la cámara del teléfono Android, a través de Java, cuando se toma la foto?
  • Obtener coordenadas de líneas no geométricas en una imagen binaria
  • 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?
  • Android convierte matriz de bytes de la API de cámara para colorear objeto Mat openCV
  • Android - alternativa para OpenCV?
  • Error al establecer ROI OpenCV Android
  • Error: Programa "/ NDK-build" no se encuentra en PATH
  • Tengo problemas para añadir OpenCV a un nuevo proyecto de Android
  • Reconocimiento Óptico de Caracteres Android con OpenCV
  • Android jpeg pictureCallback en escala de grises Opencv Mat
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.