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 

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

Solutions Collecting From Web of "Android Studio和Gradle依赖关系集成"

我在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。