如何从C++;Android中的动态链接库 我正在开发一个Android应用程序,它使用OpenCV C++ +DLL(.so file)在Unity中。 C++ DLL访问级联文件使用OpenCV函数。

如何从C++;Android中的动态链接库 我正在开发一个Android应用程序,它使用OpenCV C++ +DLL(.so file)在Unity中。 C++ DLL访问级联文件使用OpenCV函数。,android,c++,opencv,Android,C++,Opencv,*C++DLL端代码 cv::String face_cascade_name = "haarcascade_frontalface_alt.xml"; if (!face_cascade.load(face_cascade_name)) { printf("--(!)Error loading face cascade, please change face_cascade_name in source code.\n"); return -1; }; 但是,如果我在Unit

*C++DLL端代码

cv::String face_cascade_name = "haarcascade_frontalface_alt.xml";
if (!face_cascade.load(face_cascade_name)) {
    printf("--(!)Error loading face cascade, please change face_cascade_name in source code.\n");
    return -1;
};
但是,如果我在Unity中构建android应用程序并在android设备上安装该应用程序,它将无法加载xml文件

如何在Android Apk?/P>中访问C++中的级联XML?
*如果我将xml放入Unity中的assets/StreamingAssets,则xml文件存在于myapp.apk/assets文件夹中。
Android是一种特殊情况,因为StreamingAssets文件夹被压缩,OpenCV文件读取器无法使用。您必须1)将文件从StreamingAssets文件夹复制到持久数据路径(unity手册中有关于如何复制和写入文件的文档),2)使用Application.persistantDataPath获取该文件的名称,如:

string cascadeFileName = (Application.persistentDataPath + "/" + fileName);

android系统上的xml文件在哪里?你的应用程序是否有Android权限来访问该文件(或者文件系统)?如果我将XML放到资产/流资产中,则XML文件存在于MyAPP.APK/RealStaskF文件夹中(我附加了快照),但是我不知道如何从C++侧代码访问压缩的(=APK)XML文件。您可以使用<代码>应用程序>流式ASSETSPATE+“//”+文件名< /C>来访问您的文件吗?@ MICKA我想知道如何从C++代码中访问APK中的XML文件(APK中的文件= Caveat):这与OpenCV的新版本有不同程度的成功;无论出于何种原因,教程给出的标准“Init”包装器都无法识别我传递给它的级联文件的持久数据路径。4.0.1工作正常,4.5.3没有。