res/raw 文件夹中文件的完整路径

Full path to files in res/raw folder

我有一个 Android 应用程序(针对 Android R - API lvl 30),它的大部分逻辑都在 C++ 中。 应用程序读取 res 文件夹中的文件,我们可以像 - R.raw.dev 一样访问它,其中 dev 是配置文件。

我的目的是获取此文件的完整路径并使用 fopen 方法在 C++ 层中打开它。但是我无法获取文件的完整路径。

我看到了以下的一些建议,

Uri resRawUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + getPackageName() + R.raw.dev);

但这是一个 Uri....不是文件路径。

我听说有一个名为 assets 的 res 文件夹的替代品,它比 res 文件夹提供更多的自由。 AssetManager的方法,class用于查询assets文件夹,returnInputStream等方法,不查询文件路径

有没有办法获取 res 或 assets 文件夹中文件的绝对文件路径?如果在这两个文件夹中都不可能,那么外部存储呢?有没有办法获取绝对文件路径,以便我可以将此路径传递给 C++ 并使用 fopen 打开它?

My intention is to get the full path to this file

资源不是设备上的文件。它们是您开发机器上的文件。它们是设备上 APK 文件中的条目。

Is there a way to get the absolute file path to files in res or assets folder?

不,抱歉。

If its not possible in these two folders, how about external storage?

我会在 Context 上使用内部存储,例如 getFilesDir()getCacheDir()