相关疑难解决方法(0)

OpenCV for Android可以利用标准C++支持在Android Studio 2.2 for Windows上获得本机构建支持吗?

围绕获取原生opencv for android构建有很多问题和答案.有些使用gradle,有些则使用外部工具.对于原生OpenCV构建,这些众多,复杂且经常相互矛盾的描述可能会以一致的起点进行简化; 在创建Android Studio 2.2 Beta项目时,有一种方法可以包含C++支持: 包括C++支持在此输入图像描述

此功能是在2016年6月左右添加的.有关详细信息,请参阅Android工具技术文档.

将Android Studio 2.2或更高版本与Gradle 2.2.0或更高版本的Android插件一起使用,您可以将C和C++代码编译到Gradle可以与您的APK打包的本机库中,从而为您的应用添加C和C++代码.然后,您的Java代码可以通过Java Native Interface(JNI)调用本机库中的函数.如果您想了解有关使用JNI框架的更多信息,请阅读适用于Android的JNI技巧.

检查Include C++ Support生成一个名为的外部构建文件CMakeLists.txt.

# Sets the minimum version of CMake required to build the native
# library. You should either keep the default value or only pass a
# value of 3.4.0 or lower.

cmake_minimum_required(VERSION 3.4.1)

# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# …
Run Code Online (Sandbox Code Playgroud)

windows java-native-interface cmake android-studio opencv4android

27
推荐指数
2
解决办法
9923
查看次数

如何将OpenCV 4.0集成到纯C ++ Android NDK项目中?

我整合的必要步骤是什么,

最新版本的OpenCV

进入纯C ++(无Java代码)Android NDK项目,例如Android NDK Google教程:

无尽的隧道

android集成的官方文档参考很多旧版本:OpenCV-2.4和文件夹结构不再相同。

我在Linux上使用Android Studio。

非常感谢所有帮助。

c++ android opencv android-ndk

5
推荐指数
1
解决办法
993
查看次数

通过Android Studio上的CMake将OpenCV添加到Native C代码中

我试图通过Cmake将Opencv包含在我的原生C代码中.我在网上做了一些研究并从网上下载了FindOpenCV.cmake文件并将其添加到我的android项目的app目录中.这也是CMakeLists.txt所在的位置.我使用本教程将OpenCV作为模块导入到我的Android Studio项目中:https://www.learn2crack.com/2016/03/setup-opencv-sdk-android-studio.html,当我运行时:

if(!OpenCVLoader.initDebug()){
   System.out.println("Opencv not loaded");
} else {
   System.out.println("Opencv loaded");
}
Run Code Online (Sandbox Code Playgroud)

我知道Opencv已经加载了.

但是,因为我正在尝试将OpenCV添加到我的本机代码而不是Java代码中,所以我认为我不能使用它.这是我现在拥有的CMakeLists:

# Sets the minimum version of CMake required to build your native library.
# This ensures that a certain set of CMake features is available to
# your build.

cmake_minimum_required(VERSION 3.4.1)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} FindOpenCV.cmake)

# Specifies a library name, specifies whether the library is STATIC or
# SHARED, and provides relative paths to the source code. You can
# define multiple libraries …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android opencv cmake

3
推荐指数
1
解决办法
7248
查看次数

NDK - GNUSTL从NDK中删除后的问题(修订版r18)

今天我将Android Studio NDK更新到最新版本18.0.5002713.在成功安装过程后,我尝试重新运行我的应用程序,但无法这样做.出现的错误如下:org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.

在过去,我在NDK更新后运行我的应用程序时遇到了问题,但是能够通过添加arguments '-DANDROID_STL=gnustl_static'externalNativeBuildapp.gradle文件中的配置来解决它们.

原始问题:(OpenCV - NDK更新后对'cv :: CascadeClassifier :: detectMultiScale()的未定义引用)

通过添加这行代码,我设法在所有NDK r17c版本的其余部分中避免了NDK的任何问题.

不幸的是,对于修订版r18,GNUSTL的支持已经与gabi ++和stlport一起被删除了.

请参阅NDK修订历史记录:https://developer.android.com/ndk/downloads/revision_history

删除现在已弃用的代码行会产生最初是上述问题的原因的错误.现在的问题是什么是最新的等价物arguments '-DANDROID_STL=gnustl_static'

编辑:使用'-DANDROID_STL=c++_static'导致旧错误

先感谢您.

android opencv android-ndk android-studio

3
推荐指数
1
解决办法
2631
查看次数