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 - 无法配置? 的相关文章

  • 存储过程上的 OdbcCommand - 输出参数上出现“未提供参数”错误

    我正在尝试执行存储过程 通过 ODBC 驱动程序针对 SQL Server 2005 但收到以下错误 过程或函数 GetNodeID 需要参数 ID 但未提供该参数 ID 是我的过程的 OUTPUT 参数 在存储过程中指定了一个输入 mac
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • 单线程公寓问题

    从我的主窗体中 我调用以下命令来打开一个新窗体 MyForm sth new MyForm sth show 一切都很好 但是这个表单有一个组合框 当我将其 AutoCompleteMode 切换为建议和追加时 我在显示表单时遇到了这个异常
  • 默认值 C# 类 [重复]

    这个问题在这里已经有答案了 我在控制器中有一个函数 并且我收到表单的信息 我有这个代码 public Actionresult functionOne string a string b string c foo 我尝试将其转换为类似的类
  • 指向字节数组的指针

    由于 Misra C 的要求 我的一位同事想要使用指针声明 但我遇到了一些问题 Misra 安全关键指南 不会让我们纯粹的程序员使用指针 但会让我们对数组字节进行操作 他打算获取一个指向字节数组的指针 因此我们不会在堆栈上传递实际的数组 T
  • Webview 中的 Java 空指针异常

    我试图搜索这个问题 但这个错误看起来与这个错误 https stackoverflow com questions 21866459 android nullpointerexception on webview 我的 google pla
  • 格式化货币

    在下面的示例中 逗号是小数点分隔符 我有这个 125456 89 我想要这个 125 456 89 其他示例 23456789 89 gt 23 456 789 89 Thanks 看看这个例子 double value 12345 678
  • 以编程方式更新 ClickOnce 应用程序的部署清单会导致缺少 4.0 中所需的 <兼容框架> 元素

    我正在致力于自动化 NET 4 0 ClickOnce WPF 应用程序的安装程序 该应用程序需要在应用程序配置文件 我经历了寻找必须遵循的具体步骤的棘手过程Mage exe http msdn microsoft com en us li
  • 日志记录在 Android 设备上实际上有什么作用?

    我一直在 Android 示例中看到这样的代码 try catch Exception e Log e Error e getMessage 什么是Log e实际上在物理设备上做什么 它进入系统日志 开发人员可以通过 SDK 工具访问该日志
  • 如何用 C 语言练习 Unix 编程?

    经过五年的专业 Java 以及较小程度上的 Python 编程并慢慢感觉到我的计算机科学教育逐渐消失 我决定要拓宽我的视野 对世界的一般用处 并做一些 对我来说 感觉更重要的事情就像我真的对机器有影响一样 我选择学习 C 和 Unix 编程
  • Android EditText 不起作用,android:imeOptions="actionNext" android:inputType="phone"

    我已经尝试过了 只有删除android inputType phone 键盘回车可以跳转到下一个EditText 不知道大家之间是否有过一些冲突android imeOptions actionNext and android inputT
  • 从事务范围调用 WCF 服务方法

    我有这样的代码 using TransactionScope scope TransactionScopeFactory CreateTransactionScope some methodes calls for which scope
  • 正确使用“extern”关键字

    有一些来源 书籍 在线材料 解释了extern如下 extern int i declaration has extern int i 1 definition specified by the absence of extern 并且有支
  • TPL 数据流块下游如何获取源生成的数据?

    我正在使用 TPL Dataflow 处理图像 我收到处理请求 从流中读取图像 应用多次转换 然后将生成的图像写入另一个流 Request gt Stream gt Image gt Image gt Stream 为此 我使用块 Buff
  • 纯虚函数可能没有内联定义。为什么?

    纯虚函数是那些虚函数并且具有纯说明符 0 第 10 4 条第 2 款C 03 的内容告诉我们什么是抽象类 顺便说一句 如下 注意 函数声明不能 同时提供纯说明符和定义 尾注 示例 struct C virtual void f 0 ill
  • 如何获取 QIcon 的文件/资源​​路径

    假设我做了这样的事情 QIcon myIcon resources icon ico 我稍后如何确定该图标的路径 例如 QString path myIcon getPath 问题是 没有getPath 会员 我找不到类似的东西 但肯定有办
  • 我的 apk 文件在模拟器中的位置

    我在 eclipse android 中编写了一个小程序 现在我安装并运行我的程序 它是一个 apk 现在我想知道我的 apk 文件在哪里 我什至想将它 拉 到我的系统中 是否可以 如果是这样请帮助我 如果您只想将 apk 安装在手机或类似
  • C# 粘贴到文本框时检查剪贴板中的字符

    有没有一些方法可以在粘贴到文本框 C 之前仅检查剪贴板中的字符 Ctrl V 和右键单击 gt 粘贴 但不使用 MaskedTextbox 在文本框文本更改中添加规则以仅接受数字 例如 private string value privat
  • 新的 .NET 6 控制台模板中的 C# 函数重载不起作用

    我在尝试重载该函数时遇到错误Print object in the 新的 NET 6 C 控制台应用程序模板 https learn microsoft com en us dotnet core tutorials top level t
  • FindAsync 很慢,但是延迟加载很快

    在我的代码中 我曾经使用加载相关实体await FindAsync 希望我能更好地遵守 C 异步指南 var activeTemplate await exec DbContext FormTemplates FindAsync exec

随机推荐