Android Studio、OpenCV、C++、jni、NDK - 无法配置?

2024-04-21

我正在尝试使用 jni 和 Android Studio NDK 在 Android Studio 中进行 OpenCV C++ 调用。这些是我一直在工作的参考资料:

https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing

https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html?index=..%2F..%2Findex#0 https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html?index=..%2F..%2Findex#0

http://hujiaweibujidao.github.io/blog/2014/10/22/android-ndk-and-opencv-development-with-android-studio/ http://hujiaweibujidao.github.io/blog/2014/10/22/android-ndk-and-opencv-development-with-android-studio/

https://blog.nishtahir.com/2015/11/11/setting-up-for-android-ndk-development/ https://blog.nishtahir.com/2015/11/11/setting-up-for-android-ndk-development/

http://kn-gloryo.github.io/Build_NDK_AndroidStudio_detail/ http://kn-gloryo.github.io/Build_NDK_AndroidStudio_detail/

https://www.youtube.com/watch?v=G0vL7-_xuDM https://www.youtube.com/watch?v=G0vL7-_xuDM

https://www.youtube.com/watch?v=RmPuwdxR1qs https://www.youtube.com/watch?v=RmPuwdxR1qs

Android NDK:如何让 gcc 使用额外的包含目录 https://stackoverflow.com/questions/7348997/android-ndk-how-to-let-gcc-to-use-additional-include-directories

在大多数情况下,我一直在尝试让第二个 OpenCV 示例(上面的第一个链接)在 Android Studio 中运行。这是迄今为止我得到的最接近的结果:

https://github.com/MicrocontrollersAndMore/OpenCVTestNative/tree/22895c5304c5fb7f0bd62c0f5eef494d3f0280f9 https://github.com/MicrocontrollersAndMore/OpenCVTestNative/tree/22895c5304c5fb7f0bd62c0f5eef494d3f0280f9

目前我收到错误:

C:\Users\Chris.Dahms\Documents\AndroidOpenCVCppProgs\OpenCVTestNative\app\src\main\jni\jni_part.cpp
Error:(2, 28) opencv2/core.hpp: No such file or directory

我已经尝试了上面链接中的所有内容,但均无济于事。

我应该提到的是,我可以让 Java OpenCV 调用在 Android Studio 中工作,基本上遵循这篇文章:

Android Studio 中的 OpenCV https://stackoverflow.com/questions/27406303/opencv-in-android-studio

但无论我做了什么,我都无法让 C++ jni 调用正常工作。我通过从项目向导开始,然后添加第二个 OpenCV for Android 示例中的部分来创建上述链接的 GitHub 项目:

https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing

我尝试过的另一种方法是从以下位置下载 OpenCV 源代码:

https://github.com/opencv/opencv https://github.com/opencv/opencv

然后解压并使用Android Studio“导入项目(Eclipse ADT、Gradle等)”选项。导入后我收到消息

我已经阅读了实验性插件,这似乎不是推荐的方法,所以我选择

Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration

选项,其中包含以下行:

android.useDeprecatedNdk=true

在 gradle.properties 的末尾。之后我收到很多错误,但是如果我按照以下步骤操作

Android Studio 中的 OpenCV https://stackoverflow.com/questions/27406303/opencv-in-android-studio

再次,这让我回到原来的状态

Error:(2, 28) opencv2/core.hpp: No such file or directory

这是我的屏幕的样子:

如果查看源代码会有帮助的话,这是该项目:

https://github.com/MicrocontrollersAndMore/tutorial-2-mixedprocessing https://github.com/MicrocontrollersAndMore/tutorial-2-mixedprocessing

有人真的让它发挥作用了吗?我看到一些帖子暗示这是可能的,但我找不到任何具体说明。任何在这方面取得成功的人都可以与我们其他人分享吗?

编辑: 有人建议这是一个答案:

Android Studio 与 opencv for android ndk,未找到 opencv 头文件 https://stackoverflow.com/questions/29214015/android-studio-with-opencv-for-android-ndk-opencv-header-files-not-found

虽然这确实让我克服了 opencv2/core.hpp: No such file or directory 错误,但在 Android Studio 中,FindFeatures 调用仍然显示为红色,就好像 Java 文件看不到 C++ 文件一样:

在应用程序的 build.gradle 文件中,多行有下划线错误:

还有什么进一步的建议吗?

进一步编辑:

我忘了提及,我在 build.gradle 中遇到了下划线错误,并且在默认括号之外还添加了以下内容:

当我运行该应用程序时,它因错误而崩溃

couldn't find "libmixed_sample.so"

在 LogCat 和手机上出现“不幸的是应用程序已停止”错误

还有进一步的建议吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio、OpenCV、C++、jni、NDK - 无法配置? 的相关文章

  • 有没有办法将 boost::json::serializer 切换为美化输出?

    Using boost json serializer如中的示例所示文档 快速查看 http vinniefalco github io doc json json usage quick look html以紧凑格式保存 json tre
  • 求一个数的因数。无法得到准确的结果

    有人可以帮助纠正我的算法吗 我已经对几个数字进行了测试 但它没有输出完整的因式分解 对于具有大量因子的数字 它完全失败 int num 20 for int i 2 i lt num i if num i 0 cout lt lt i lt
  • 如何使 Edittext 大小保持不变?安卓

    我知道使 Edittext 左侧的文本 消失 以保持单行的属性 singleLine true 但我的问题是 当我在显示视图之前填充编辑文本时 在这种情况下 我的编辑文本都超出了屏幕 有任何想法吗 谢谢 这是填充空的 Edittext 时得
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • C for 循环索引:新 CPU 中的前向索引更快吗?

    在我订阅的邮件列表上 两位知识渊博的 IMO 程序员正在讨论一些优化的代码 并说了以下内容 在 5 8 年前发布的 CPU 上 向后迭代 for 循环稍微快一些 e g for int i x 1 i gt 0 i 因为比较i归零比将其与其
  • ASP.NET MVC 路由 - 向路由添加 .html 扩展名

    我对 MVC 和路由非常陌生 我被要求修改一个应用程序以使用不同的 url 由于我没有经验 这项任务对我来说有点困难 好吧 让我们谈谈一些代码 routes MapRoute CategoryBySeName Route name prod
  • C++ 错误:从“char”到“const char*”的转换无效

    我对 C 完全陌生 我创建了这个函数 bool guessWord string compWord cout lt lt Guess a letter string userLetter cin gt gt userLetter for u
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 将一个整数从 C 客户端发送到 Java 服务器

    我使用此代码将一个整数从我的 Java 客户端发送到我的 Java 服务器 int n rand nextInt 50 1 DataOutputStream dos new DataOutputStream socket getOutput
  • 使用宏计算源文件行数?

    是否可以使用 C C 预处理器将源文件中的行数计算为宏或某种编译时可用值 例如 我可以更换吗MAGIC1 MAGIC2 and MAGIC3在下面 并在使用时以某种方式获取值 4MAGIC3 MAGIC1 can be placed whe
  • ASP.NET MVC 中 ModelState.AddModelError 中的关键参数有什么意义?

    我在我的控制器中添加了验证检查来修改ModelState如果验证失败 例如 private bool ValidateMoney string raw string name decimal min decimal max try var
  • 只读有运行时开销吗?

    出于某种原因 我一直认为readonly字段有与其相关的开销 我认为这是 CLR 跟踪是否存在readonly字段是否已初始化 这里的开销是一些额外的内存使用量 用于跟踪状态以及分配值时的检查 也许我这么认为是因为我不知道readonly字
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • TreeView:仅在子节点中存在复选框

    我需要一个树视图控件 根节点没有复选框 只有图像 所有子节点都有一个复选框 图像 C net 2 0 winforms 不是 wpf WinForms树视图默认不支持混合复选框 非复选框节点 您可以在树视图上全局启用复选框 并使用以下命令在
  • Android - 从渲染线程内结束活动

    下午好 我不熟悉 android 中的活动生命周期 并且一直在尽可能地阅读 但我不知道如何以良好的方式解决以下问题 我有一个使用 GLSurfaceView 的活动来在屏幕上绘制各种内容 在这个 GLSurfaceView 的渲染线程中 我
  • OpenGL 计算着色器调用

    我有一个与新计算着色器相关的问题 我目前正在研究粒子系统 我将所有粒子存储在着色器存储缓冲区中 以便在计算着色器中访问它们 然后我派遣一个一维工作组 define WORK GROUP SIZE 128 shaderManager gt u
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • 如何平滑循环列向量

    这是一个 OpenCV2 问题 我有一个矩阵代表closed空间曲线 cv Mat
  • 如何在 Winform DataGridView 中创建不同的单元格格式

    我有一个 DataGridView 我将其绑定到 DataTable DataTable 是一个全数字值 要求 DataGridView 中的每 n 行都包含文本 而不是数值 以便在视觉上为用户分隔部分 我很高兴在绑定后将此文本数据放入 D

随机推荐