【发布时间】:2018-09-28 13:29:48
【问题描述】:
我正在开发一个在 Unity 中使用 OpenCV C++ dll(.so 文件)的 android 应用程序。 C++ dll 访问级联文件以使用 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;
};
但是,如果我在 Unity 中构建一个 android 应用程序并将该应用程序安装在 Android 设备上,它无法加载 xml 文件。
如何在 Android apk 中访问 C++ DLL 中的级联 xml?
*如果我将 xml 放到 Unity 中的 assets/StreamingAssets 中,则 xml 文件存在于 myapp.apk/assets 文件夹中。
【问题讨论】:
-
你的android系统上的xml文件在哪里?您的应用程序是否具有访问该文件(或文件系统)的 android 权限?
-
如果我将 xml 放到 Unity 中的 assets/StreamingAssets 中,xml 文件存在于 myapp.apk/assets 文件夹中。(我附上了快照)但是我不知道如何访问压缩文件(= apk) 来自 C++ 端代码的 xml 文件。
-
如果我没听错的话,您可以使用
Application.streamingAssetsPath + "/" + filename访问您的文件吗? -
@Micka 我想知道如何从 C++ 代码访问 apk 中的 xml 文件(=apk 中的 so 文件)。