Android NDK 正在访问 XML 文件

Android NDK accessing XML file

我正在尝试构建一个用 C++ 编写的库。此库使用 OpenCV 并需要访问一些 xml 文件以进行面部识别。不知何故,文件访问权限未被授予,当 运行

时出现错误
CascadeClassifier faceCascade.load(faceCascadeFile);

此时出现错误,因为文件无法打开。 xml 文件应包含在通过 Android.mk

包含的 OpenCV 库中
OPENCV_INSTALL_MODULES:=on
include ./jni/opencv/sdk/native/jni/OpenCV.mk

我还尝试将 .xml 文件复制到我的 jni 文件夹中,并将它们包含在我的 Android.mk

LOCAL_MODULE           := usit
LOCAL_SRC_FILES        := gfcf.cpp haarcascade_frontalface_default.xml haarcascade_eye_tree_eyeglasses.xml haarcascade_mcs_eyepair_big.xml haarcascade_mcs_nose.xml

我仍然无法访问此文件。我试图检查构建的库,但找不到任何方法来查看文件是否可用。

您必须将设备上的文件直接推送到存储或与资产一起推送。 看看here and there.

如果您选择将文件推送到存储上,您可以通过以下方式轻松访问它:

string faceFile = "/sdcard/Download/haarcascade_frontalface_alt2.xml";
CascadeClassifier classifier;
classifier.load(faceFile);