Android Studio和Gradle依赖关系集成

我正在学习这个教程,但是使用Android Studio。 我已经完成了以下步骤:

在Android Studio中创build一个新项目

将OpenCV-2.4.5-sdk / sdk / java添加为模块

右键单击我的主模块 – >更改模块设置 – >添加上面的opencv模块作为依赖

对于我的MainActivity,我使用了下面的代码(从一个样本中剥离):

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; } } 

Android Studio的文本编辑器可以识别我已经导入的包(如org.opencv.android),但是当我编译时,我得到了这些错误:

 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 

有谁知道为什么发生这种情况?

  • 使用OpenCV进行不稳定的人脸识别
  • 计算透视变换目标图像的宽高比
  • 匹配断言失败错误opencv Android
  • UnsatisfiedLinkError:n_Mat同时使用Android 4.0的opencv2.4.3
  • OpenCV本地示例不构build
  • Gradle android构建用于不同的处理器架构
  • Android OpenCV绘制Hough线
  • 将Android预览帧转换为OpenCV Mat
  • 我在OS X上遇到了类似于Android Studio的问题。我编写代码,Android Studio会看到我引用的.jar,并声明了依赖关系,但是当Gradle构build项目时,走。

    我打开了“build.gradle”文件,不得不手动添加依赖项。 例如,这里是我的完整文件:

     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 } } 

    正如你可以猜到的,我添加的行是引用Gson和Jsoup的行。

    受到这个答案的启发,这些是我做的步骤:

    • 把OpenCV 2.4.5的jar文件(在我的情况下,'opencv-library-2.4.5.jar')放到你的项目的libs文件夹
    • 右键单击它并select添加为库
    • build.gradle文件的依赖项部分inputcompile files('libs/opencv-library-2.4.5.jar')
    • 做一个干净的构build。 它可以在android工作室内完成,但我也运行了包含在项目文件夹内的gradlew.bat

    现在,该项目应该build立和运行得很好。

    注意:在更高版本的OpenCV(例如2.4.7)中,该库可以在...\build\java

    我遇到了类似的问题。

    在我的情况下,这是Android Studio无法为我添加Gradle依赖项。 我不得不把它自己添加到我的项目的gradle文件中:

    编译项目(“:openCVLibrary2410”)

    它解决了这个问题。 我希望这有帮助。

    最近我解决了上述问题:

    1. 右键点击该项目,
    2. 打开模块设置(F4)
    3. 打开依赖关系选项卡窗格
    4. 点击+,添加模块依赖项(带编译选项)

    那么一切正常。 opencv库是我的项目中的其他模块

    我find了解决方法,现在一切正常。

    我不得不build立一个jar文件(openCV.jar),然后我添加它作为一个库,而不是一个模块,最后在gradle.build文件我添加了这一行

    compile files('libs/openCV.jar')

    所以最后我得到使用库代码,我的构build是好的。

    我不知道这是否好。 但是我就是这么做的。 希望能帮助到你。

    尝试在Android Studio中添加依赖项没有结果的。

    试试这个:

    • 从OpenCV网站下载OpenCV-2.4.5-android-sdk.zip

      • 解压到OpenCV-2.4.5-android-sdk,正好是

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

      • 打开IntelliJ并select导入

      • select要导入的文件夹

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

        你的会有点不同,不用担心,只要select你提取的OpenCV-2.4.5-android-sdk

      • 导入向导完成后,使用菜单构build应用程序

    build立 – >重build项目

    • closures项目

    • 创build新build或打开现有项目
    • 然后

    文件 – >导入模块

    • 这一次select

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

    我的是sdk.iml,但你的可能是什么,但只有一个

    iml文件 选择iml文件导入模块

    您现在可以开始使用OpenCVfunction,首先键入

    import组织

    一旦你键入期间IntelliJ应该删除一个选项列表之一

    OpenCV的

    现在,OpenCV已经正确地集成在您的IDE中

    其余的由你决定。

    在我的intellij IDE中,我修改如下:
    – 指向您的应用程序(在您的项目中),然后单击F4(模块设置默认为重点)
    – selectAndroid的Gradle
    – select标签依赖关系
    – 添加(select右上angular的+button)依赖项:你可以select添加maven,文件或…取决于你。 在我的情况下,我从maven添加新的opencsv。
    – 点击确定完成,你的项目自动重build。

    DONE。