【发布时间】:2014-01-22 04:45:04
【问题描述】:
我正在尝试在 Android Studio 上测试 OpenCV Android,我对如何包含 NDK 感到困惑。
我想做的是运行 OpenCV 附带的示例。在提供的 6 个样本中,我成功运行了 4 个。例外是面部检测和原生活动。
我怀疑原因是我没有正确设置我的 NDK。
谷歌搜索我发现了一堆讨论,但并不真正理解它们。这是我第一次尝试同时使用 NDK 和 OpenCV,我对 Gradle 的理解有限。
我在我的 .bash_profile 中设置了一个环境变量
导出 ANDROID_NDK=pathTo/android-ndk-r9
我不明白如何将它送到工作室。
我看到对 jniFolder 的引用,但不明白这些是什么,我现在应该关心。 Stackoverflow.com/questions/17767557
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniFolders = new HashSet<File>()
pkgTask.jniFolders.add(new File(projectDir, 'native-libs'))
}
我应该如何处理我的 build.gradle 文件末尾的这个粘贴?
总之,我的问题是。
- 如何让 Android Studio 读取 NDK 变量?
- jniFolders 到底是什么?
- 只粘贴到我的 build.gradle 文件的末尾就足够了吗?
Google Group Discussions on Gradle and NDK
对于遇到此问题的任何人,除了 Xaviers anwser 之外,这就是我解决它的方法。 首先,我在 docs 目录中阅读了 NDK 附带的 OVERVIEW.html。 然后我将 .mk 和 .cpp 文件编译成 .so 文件。我在示例 jni 目录中就地执行了此操作 这在我复制到 Xavier 给出的目的地的 libs 文件夹中创建了 .so 文件。
【问题讨论】:
-
我设法在没有编译任何东西的情况下做到了这一点。查看:stackoverflow.com/a/35135495/5611377,也许会有所帮助。
标签: android opencv android-ndk gradle android-studio