如何在使用 Gradle 时使用 opencv?
Posted
技术标签:
【中文标题】如何在使用 Gradle 时使用 opencv?【英文标题】:How to use opencv in using Gradle? 【发布时间】:2013-07-20 00:09:09 【问题描述】:我想使用 android Studio 开发一个使用 Gradle 构建工具的应用。我无法在build.gradle
上插入 OpenCV 存储库和库。我的.gradle
文件如下:
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.5.+'
apply plugin: 'android'
repositories
mavenCentral()
dependencies
compile 'com.android.support:support-v4:13.0.+'
android
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig
minSdkVersion 7
targetSdkVersion 16
如何在我的项目中添加 OpenCV?
【问题讨论】:
【参考方案1】:buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.5.+'
apply plugin: 'android'
repositories
mavenCentral()
maven
url 'http://maven2.javacv.googlecode.com/git/'
dependencies
compile 'com.android.support:support-v4:13.0.+'
compile 'com.googlecode.javacv:javacv:0.5'
instrumentTestCompile 'junit:junit:4.4'
android
compileSdkVersion 14
buildToolsVersion "17.0.0"
defaultConfig
minSdkVersion 7
targetSdkVersion 14
这对我有用:)
【讨论】:
这是用于 javacv(opencv 包装器)的,现在它已更改为“org.bytedeco:javacv:如果您不想使用 JavaCV,这对我有用...
第 1 步 - 下载资源
从http://opencv.org/downloads.html下载OpenCV Android SDK
第 2 步 - 将 OpenCV 二进制文件复制到您的 APK 中
从
复制libopencv_info.so & libopencv_java.soOpenCV-2.?.?-android-sdk -> sdk -> native -> libs -> armeabi-v7a
到
Project Root -> Your Project -> lib - > armeabi-v7a
压缩 lib 文件夹并将该压缩文件重命名为whatever-v7a.jar。
复制这个 .jar 文件并将其放在您的项目中
Project Root -> Your Project -> libs
将此行添加到项目 build.gradle 中的依赖项部分
compile files('libs/whatever-v7a.jar')
当你现在编译时,你可能会看到你的 .apk 大约大了 4mb。
(如果您也想支持 ARMv6,请重复“armeabi”,可能不再需要。)
第 3 步 - 将 java sdk 添加到您的项目中
从这里复制java文件夹
OpenCV-2.?.?-android-sdk -> sdk
到
Project Root -> Your Project -> libs
(与您的 .jar 文件相同的位置);
(您可以将“java”文件夹名称重命名为“OpenCV”)
在这个新复制的文件夹中添加一个典型的 build.gradle 文件;我用这个:
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.6.+'
apply plugin: 'android-library'
repositories
mavenCentral();
android
compileSdkVersion 19
buildToolsVersion "19"
defaultConfig
minSdkVersion 15
targetSdkVersion 19
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
在您的 Project Root settings.gradle 文件中也将其更改为如下所示:
include ':Project Name:libs:OpenCV', ':Project Name'
在您的项目根目录 -> 项目名称 -> build.gradle 文件的依赖项部分中添加以下行:
compile project(':Project Name:libs:OpenCV')
第 4 步 - 在您的项目中使用 OpenCV
重建,您应该能够在项目中导入并开始使用 OpenCV。
import org.opencv.android.OpenCVLoader;
...
if (!OpenCVLoader.initDebug())
我知道如果有点hack,但我想我还是会发布它。
【讨论】:
这达到了一定程度,但我无法将 OpenCV 类导入到我的项目中。我可以导入org.opencv
- 这是公认的,但如果我尝试导入例如org.opencv.android.OpenCVLoader
、android
带有红色下划线,我尝试导入的任何其他类也是如此。可能出了什么问题?
您确定在第 1 步中从 OpenCV.org 下载了“OpenCV for Android”吗?如果是这样,听起来步骤#3 出了点问题。希望有帮助..
我做到了,是的,我认为问题不是在重建,现在已经解决了。
很高兴听到汤姆的消息!顺便说一句 - 从 Android Studio 0.4.2 开始,我认为他们有一些 NDK 支持,我想尽快检查一下,它可能会导致更小的 APK 大小。
我按照你的步骤,我得到:无法加载 opencv_java:findLibrary 返回 null。我从头开始跟踪他们两次,结果相同。使用 Android Studio 0.5.1。我可以从 main 调用 initDebug,但似乎找不到底层库?有什么想法吗?谢谢!【参考方案3】:
您可以在 Android Studio 中轻松完成此操作。
按照以下步骤在您的项目中添加 Open CV 作为库。
在项目主目录下创建一个libraries
文件夹。例如,如果您的项目是OpenCVExamples
,您将创建一个OpenCVExamples/libraries
文件夹。
转到你有SDK的位置“\OpenCV-2.4.8-android-sdk\sdk”在这里你会找到java
文件夹,把它重命名为opencv
。
现在将完整的 opencv 目录从 SDK 复制到您刚刚创建的库文件夹中。
现在在opencv
目录下创建一个build.gradle
文件,内容如下
apply plugin: 'android-library'
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.9.+'
android
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig
minSdkVersion 8
targetSdkVersion 19
versionCode 2480
versionName "2.4.8"
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = ['src']
编辑应用程序主目录中的 settings.gradle 文件并添加以下行:
include ':libraries:opencv'
将您的项目与 Gradle 同步,它应该如下所示
右键单击您的项目,然后单击Open Module Settings
,然后从左侧列表中选择模块,单击应用程序的模块,单击依赖项选项卡,然后单击 + 按钮添加新的模块依赖项。
选择Module dependency
。它将打开一个对话框,其中包含可供选择的模块列表;选择“:libraries:opencv”。
在/app/src/main/
位置创建一个jniLibs
文件夹,并从OpenCV SDK 复制jniLibs
中带有*.so 文件(armeabi、armeabi-v7a、mips、x86)的所有文件夹。
单击“确定”。现在一切都完成了,去享受 OpenCV 吧。
【讨论】:
"您可以在 Android Studio 中轻松完成此操作。" - 是的,对,完全直截了当...... :) 但是非常感谢,你的解决方案终于帮助我完成了这个。我想询问有关将文件复制到 jniLibs 目录中的问题。它复制了大约 150 兆字节的数据。这些都将包含在最终申请中吗?如果是,它们是否有必要?我的意思是可以在不使应用程序变得不必要的大的情况下包含 opencv 吗? 好的,所以我手机中的应用程序最终大约“只有”40 MB,但我有一个问题,我收到此错误:UnsatisfiedLinkError: Native method not found: org.opencv.features2d.FeatureDetector.create_0:(I)J
。你知道可能是什么原因吗?
@Vinuthan:确保您下载了 OpenCV Android SDK 而不仅仅是 OpenCV。你想要OpenCV for Android
链接here。听起来你可能抓错了。从 OpenCV Android 2.4.9 开始,我能够在 sdk/java/
中找到该文件夹。
在第 9 步中,我在 OpenCV SDK 中看不到 jniLibs
文件夹。经过一番查找,我确实找到了带有 *.so 文件的文件夹,但它们在这个目录中:OpenCV-3.0.0-android-sdk-1\OpenCV-android-sdk\sdk\native\libs
难道只是我使用的是更新版本的 OpenCV SDK?
@TGMCians 在第 6 步中我收到此错误:错误:无法从项目路径/库/AndroidManifest.xml 中读取包名。是不是该修改了?以及如何?【参考方案4】:
我发布了一篇关于如何构建包含 OpenCV 的 Android NDK 应用程序的新帖子 使用 Android Studio 和 Gradle。更多信息可以看here,我总结了两种方法:
(1) 在 Gradle 任务中运行 ndk-build
sourceSets.main.jni.srcDirs = []
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK')
ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
commandLine "$ndkDir/ndk-build",
'NDK_PROJECT_PATH=build/intermediates/ndk',
'NDK_LIBS_OUT=src/main/jniLibs',
'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
'NDK_APPLICATION_MK=src/main/jni/Application.mk'
tasks.withType(JavaCompile)
compileTask -> compileTask.dependsOn ndkBuild
(2) 使用外部工具运行ndk-build
参数:NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1
更多信息可以看here
【讨论】:
【参考方案5】:根据 OpenCV 文档 (1),以下使用 OpenCV 管理器 的步骤是使用 OpenCV 进行 生产 运行的推荐方法。但是,OpenCV 管理器(2)是从 Google Play 商店额外安装的。因此,如果您更喜欢自包含的 apk(不使用 OpenCV 管理器)或目前处于开发/测试阶段,我建议您在 https://***.com/a/27421494/1180117 回答。
在带有 OpenCV 管理器的 Android Studio 中使用 OpenCV 的推荐步骤。
-
解压从OpenCV.org下载的OpenCV Android sdk(3)
从
File -> Import Module
,选择解压缩的opencv存档中的sdk/java
文件夹。
在导入的 OpenCV 模块下更新 build.gradle
以更新 4 个字段以匹配您项目的 build.gradle
a) compileSdkVersion b) buildToolsVersion c) minSdkVersion 和 4) targetSdkVersion。
通过Application -> Module Settings
添加模块依赖,并选择Dependencies
选项卡。点击底部(或右侧)+
图标,选择Module Dependency
并选择导入的 OpenCV 模块。
作为最后一步,在您的 Activity 类中,在下方添加 sn-p。
public class SampleJava extends Activity
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this)
@Override
public void onManagerConnected(int status)
switch(status)
case LoaderCallbackInterface.SUCCESS:
Log.i(TAG,"OpenCV Manager Connected");
//from now onwards, you can use OpenCV API
Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
break;
case LoaderCallbackInterface.INIT_FAILED:
Log.i(TAG,"Init Failed");
break;
case LoaderCallbackInterface.INSTALL_CANCELED:
Log.i(TAG,"Install Cancelled");
break;
case LoaderCallbackInterface.INCOMPATIBLE_MANAGER_VERSION:
Log.i(TAG,"Incompatible Version");
break;
case LoaderCallbackInterface.MARKET_ERROR:
Log.i(TAG,"Market Error");
break;
default:
Log.i(TAG,"OpenCV Manager Install");
super.onManagerConnected(status);
break;
;
@Override
protected void onResume()
super.onResume();
//initialize OpenCV manager
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
注意:只有在onManagerConnected
方法上收到成功回调后才能进行 OpenCV 调用。在运行期间,如果尚未安装,系统将提示您从 Play 商店安装 OpenCV 管理器。在开发过程中,如果您无权访问 Play 商店或在 emualtor 上,请使用下载的 OpenCV sdk 存档下 apk
文件夹中存在的适当 OpenCV 管理器 apk。
优点
Apk 大小减少了大约 40 MB(也考虑升级)。 OpenCV 管理器会为您的硬件安装优化的二进制文件,这有助于提高速度。 升级到 OpenCV 管理器可能会使您的应用免于 OpenCV 中的错误。 不同的应用可以共享同一个 OpenCV 库。缺点
最终用户体验 - 可能不喜欢您的安装提示 申请。【讨论】:
如何使用 C++ 将其与 NDK 和 JNI 一起使用? @RomanticElectron 我没有用 ndk 尝试过 opencv。我想知道您使用 ndk 的 opencv 的哪些特定功能。在 3.0 中,opencv 的 Java 包装器确实得到了改进。 我想使用 Stroke Width Transform 算法进行文本检测,获取 Connected Components 并分离出字母以向神经网络 @Kiran 提供输入 我不知道包含什么 static System.loadLibrary("opencv_java"); 事情确实(或放在哪里),但这是这个问题的正确答案。谢谢!您还需要另一个错误修复。见:***.com/questions/27470313/… 对不起,你把静态调用放在哪里了?【参考方案6】:这些是在 Android Studio 1.2 中使用 OpenCV 的必要步骤:
下载OpenCV 并解压存档 在 Android Studio 中打开您的应用项目 转到 文件 -> 新建 -> 导入模块... 在之前解压的目录中选择sdk/java
将模块名称设置为opencv
按下一步然后完成
在导入的 OpenCV 模块下打开 build.gradle 并将 compileSdkVersion
和 buildToolsVersion
更新为您机器上的版本
将 compile project(':opencv')
添加到您的应用 build.gradle
dependencies
...
compile project(':opencv')
按 将项目与 Gradle 文件同步
【讨论】:
【参考方案7】:它也适用于 Android Studio 1.2 + OpenCV-2.4.11-android-sdk (.zip)。
只需执行以下操作:
1) 遵循以“您可以在 Android Studio 中非常轻松地完成此操作。按照以下步骤将 OpenCV 作为库添加到您的项目中”开头的答案。由 TGMCians 撰写。
2) 在<yourAppDir>\libraries\opencv
文件夹中将您新创建的build.gradle
修改为(TGMCians 回答中的第 4 步,适用于 OpenCV2.4.11-android-sdk 并使用 gradle 1.1.0 em>):
apply plugin: 'android-library'
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:1.1.0'
android
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig
minSdkVersion 8
targetSdkVersion 21
versionCode 2411
versionName "2.4.11"
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = ['src']
3) 位于目录"armeabi", "armeabi-v7a", "mips", "x86"
中的 *.so 文件可以在(默认 OpenCV 位置)下找到:..\OpenCV-2.4.11-android-sdk\OpenCV-android-sdk\sdk\native\libs
(TGMCians 回答中的第 9 步)。
享受,如果这有帮助,请给予正面的声誉。我需要 50 个才能直接回答答案(左 19 个):)
【讨论】:
【参考方案8】:AndroidManifest.xml 文件中需要以下权限和功能,否则您将获得以下对话框
“您的设备似乎不支持摄像头(或已锁定)。应用程序将被关闭”
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
【讨论】:
【参考方案9】:OpenCV、Android Studio 1.4.1、gradle-experimental plugin 0.2.1
其他答案都没有帮助我。这对我有用。我正在使用 opencv 中的 tutorial-1 示例,但我将在我的项目中使用 NDK,因此我使用的是 gradle-experimental 插件,它的结构与 gradle 插件不同。
需要安装Android studio,通过Android SDK Manager安装Android NDK,下载OpenCV Android SDK并解压。
这是在 bash 脚本块中,以保持其紧凑但完整。这也都在命令行上,因为我遇到的一个大问题是,随着 IDE 的发展,in-IDE 指令已经过时了。
首先设置OpenCV SDK的根目录位置。
export OPENCV_SDK=/home/user/wip/OpenCV-2.4.11-android-sdk
cd $OPENCV_SDK
创建您的 gradle 构建文件...
首先是 OpenCV 库
cat > $OPENCV_SDK/sdk/java/build.gradle <<'==='
apply plugin: 'com.android.model.library'
model
android
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with
minSdkVersion.apiLevel = 8
targetSdkVersion.apiLevel = 23
android.buildTypes
release
minifyEnabled = false
debug
minifyEnabled = false
android.sources
main.manifest.source.srcDirs += "."
main.res.source.srcDirs += "res"
main.aidl.source.srcDirs += "src"
main.java.source.srcDirs += "src"
===
然后告诉教程示例将库标记为什么以及在哪里找到它。
cat > $OPENCV_SDK/samples/tutorial-1-camerapreview/settings.gradle <<'==='
include ':openCVLibrary2411'
project(':openCVLibrary2411').projectDir = new File('../../sdk/java')
===
为教程创建构建文件。
cat > $OPENCV_SDK/samples/tutorial-1-camerapreview/build.gradle <<'==='
buildscript
repositories
jcenter()
dependencies
classpath 'com.android.tools.build:gradle-experimental:0.2.1'
allprojects
repositories
jcenter()
apply plugin: 'com.android.model.application'
model
android
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with
applicationId = "org.opencv.samples.tutorial1"
minSdkVersion.apiLevel = 8
targetSdkVersion.apiLevel = 23
android.sources
main.manifest.source.srcDirs += "."
main.res.source.srcDirs += "res"
main.aidl.source.srcDirs += "src"
main.java.source.srcDirs += "src"
android.buildTypes
release
minifyEnabled = false
proguardFiles += file('proguard-rules.pro')
debug
minifyEnabled = false
dependencies
compile project(':openCVLibrary2411')
===
您的构建工具版本需要正确设置。这是一个简单的方法 看看你安装了什么。 (您可以通过安装其他版本 Android SDK 管理器)。如果您没有 23.0.2,请更改 buildToolsVersion。
echo "Your buildToolsVersion is one of: "
ls $ANDROID_HOME/build-tools
将第一行的环境变量更改为您的版本号
REP=23.0.2 #CHANGE ME
sed -i.bak s/23\.0\.2/$REP/g $OPENCV_SDK/sdk/java/build.gradle
sed -i.bak s/23\.0\.2/$REP/g $OPENCV_SDK/samples/tutorial-1-camerapreview/build.gradle
最后,设置正确的 gradle 包装器。 Gradle 需要一个干净的目录 去做这个。
pushd $(mktemp -d)
gradle wrapper --gradle-version 2.5
mv -f gradle* $OPENCV_SDK/samples/tutorial-1-camerapreview
popd
您现在应该已准备就绪。您现在可以使用 Android Studio 浏览到此目录并打开项目。
使用以下命令在命令行上构建教程:
./gradlew assembleDebug
它应该构建你的 apk,把它放在 ./build/outputs/apk
【讨论】:
【参考方案10】:我已将 Java 项目从 OpenCV SDK 导入到 Android Studio gradle 项目中,并在 https://github.com/ctodobom/OpenCV-3.1.0-Android 上提供了它
借助 jitpack.io 服务,您只需在 build.gradle
文件中添加两行即可将其包含在您的项目中。
【讨论】:
【参考方案11】:OpenCV Android SDK 有一个示例 gradle.build 文件,其中包含有用的 cmets:https://github.com/opencv/opencv/blob/master/modules/java/android_sdk/build.gradle.in
//
// Notes about integration OpenCV into existed Android Studio application project are below (application 'app' module should exist).
//
// This file is located in <OpenCV-android-sdk>/sdk directory (near 'etc', 'java', 'native' subdirectories)
//
// Add module into Android Studio application project:
//
// - Android Studio way:
// (will copy almost all OpenCV Android SDK into your project, ~200Mb)
//
// Import module: Menu -> "File" -> "New" -> "Module" -> "Import Gradle project":
// Source directory: select this "sdk" directory
// Module name: ":opencv"
//
// - or attach library module from OpenCV Android SDK
// (without copying into application project directory, allow to share the same module between projects)
//
// Edit "settings.gradle" and add these lines:
//
// def opencvsdk='<path_to_opencv_android_sdk_rootdir>'
// // You can put declaration above into gradle.properties file instead (including file in HOME directory),
// // but without 'def' and apostrophe symbols ('): opencvsdk=<path_to_opencv_android_sdk_rootdir>
// include ':opencv'
// project(':opencv').projectDir = new File(opencvsdk + '/sdk')
//
//
//
// Add dependency into application module:
//
// - Android Studio way:
// "Open Module Settings" (F4) -> "Dependencies" tab
//
// - or add "project(':opencv')" dependency into app/build.gradle:
//
// dependencies
// implementation fileTree(dir: 'libs', include: ['*.jar'])
// ...
// implementation project(':opencv')
//
//
//
//
// Load OpenCV native library before using:
//
// - avoid using of "OpenCVLoader.initAsync()" approach - it is deprecated
// It may load library with different version (from OpenCV Android Manager, which is installed separatelly on device)
//
// - use "System.loadLibrary("opencv_java3")" or "OpenCVLoader.initDebug()"
// TODO: Add accurate API to load OpenCV native library
//
//
//
// Native C++ support (necessary to use OpenCV in native code of application only):
//
// - Use find_package() in app/CMakeLists.txt:
//
// find_package(OpenCV 3.4 REQUIRED java)
// ...
// target_link_libraries(native-lib $OpenCV_LIBRARIES)
//
// - Add "OpenCV_DIR" and enable C++ exceptions/RTTI support via app/build.gradle
// Documentation about CMake options: https://developer.android.com/ndk/guides/cmake.html
//
// defaultConfig
// ...
// externalNativeBuild
// cmake
// cppFlags "-std=c++11 -frtti -fexceptions"
// arguments "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni" // , "-DANDROID_ARM_NEON=TRUE"
//
//
//
//
// - (optional) Limit/filter ABIs to build ('android' scope of 'app/build.gradle'):
// Useful information: https://developer.android.com/studio/build/gradle-tips.html (Configure separate APKs per ABI)
//
// splits
// abi
// enable true
// reset()
// include 'armeabi-v7a' // , 'x86', 'x86_64', 'arm64-v8a'
// universalApk false
//
//
//
apply plugin: 'com.android.library'
println "OpenCV: " + project.buildscript.sourceFile
android
compileSdkVersion 27
//buildToolsVersion "27.0.3" // not needed since com.android.tools.build:gradle:3.0.0
defaultConfig
minSdkVersion 14
targetSdkVersion 21
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
compileOptions
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
sourceSets
main
jniLibs.srcDirs = ['native/libs']
java.srcDirs = ['java/src']
aidl.srcDirs = ['java/src']
res.srcDirs = ['java/res']
manifest.srcFile 'java/AndroidManifest.xml'
dependencies
【讨论】:
【参考方案12】:由于 OpenCV 的集成是一项艰巨的工作,因此我们将其预先打包并通过 JCenter 在此处发布:https://github.com/quickbirdstudios/opencv-android
只需将其包含在模块的 build.gradle 依赖项部分中
dependencies
implementation 'com.quickbirdstudios:opencv:3.4.1'
这在您项目的 build.gradle 存储库部分中
repositories
jcenter()
gradle 导入后不会出现 lint 错误,但不要忘记在 MainActivity 中像这样初始化 OpenCV 库
public class MainActivity extends Activity
static
if (!OpenCVLoader.initDebug())
Log.d("ERROR", "Unable to load OpenCV");
else
Log.d("SUCCESS", "OpenCV loaded");
...
...
...
...
【讨论】:
谢谢!我真的不明白 OpenCV 没有官方提供这样的解决方案。 @Malte 我已经分叉了这个 repo,对 java 文件进行了一些更改,并使用我的 repo 中的 jitpack 发布。当我运行时,它说 openCV lib not found。我怎样才能从我的回购中做呢?【参考方案13】:今天看这个视频,解决我在android studio中实现opencv的问题 https://www.youtube.com/watch?v=psoeNfFAKL8
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 是的,你是对的以上是关于如何在使用 Gradle 时使用 opencv?的主要内容,如果未能解决你的问题,请参考以下文章