我安装了Android Studio 3.1.4,并下载了OpenCV-2.4.11-android-sdk。首先,我尝试运行OpenCV SDK随附的示例,例如人脸检测。当我在Android Studio中构建项目时,收到消息:
错误:您的项目包含C ++文件,但未使用受支持的文件 本机构建系统。考虑使用CMake或ndk-build集成。 有关更多信息,请访问: https://d.android.com/r/studio-ui/add-native-code.html
必须在该站点上安装其所说的NDK,CMake和LLDB。但是已经是了。
有什么办法解决吗?
答案 0 :(得分:1)
由于您具有C ++代码,并且项目目录中包含Makefile,在这种情况下,您只需要将Gradle链接到本机库:
在项目窗格中,在模块上右键单击,然后选择链接C ++ 用Gradle投影。
从下拉列表中选择 CMake 或 ndk-build ,具体取决于您的项目
a。如果选择了 CMake ,请在项目中指定 CMakeLists.txt 脚本
b。如果您选择 ndk-build ,请指定 Android.mk 。
PS: Android.mk 位于; app / build / intermediates / ndk / debug。
答案 1 :(得分:0)
它不起作用。现在,我创建了一个新项目。然后:
右键单击软件包:openCVLibrary2411->使用Gradle链接C ++项目:构建系统:ndk-build,Projekt路径:“ [MyFolder] \ OpencvTest7 \ app \ build \ intermediates \ ndk \ debug”
在MainActivity.java中,我在
setContentView(R.layout.activity_main);
if(OpenCVLoader.initDebug()){
Toast.makeText(getApplicationContext(), "opencv loaded successfully.", Toast.LENGTH_SHORT).show(); }else { Toast.makeText(getApplicationContext(), "could not load opencv .", Toast.LENGTH_SHORT).show(); }
运行项目时,我看到Toast“”无法加载opencv。“。
答案 2 :(得分:0)
就我而言,我在 local.properties 文件中缺少 ndk 的位置。请在 local.properties
中使用android sdk添加ndk路径ndk.dir=/Path to the Sdk/Android/sdk/ndk-bundle
sdk.dir=/Path to the Ndk directory/Android/sdk