在升级到 Android SDK 30+ 之后,shipping build无法读取外部存储。

在shipping build中,我需要读取放置在 \UnrealGame\MyGame\Saved\ 目录下的 .pak 文件,同时还需要在该目录中读取和写入其他几个文件。在使用 Android SDK 28 时一切正常,但升级到 SDK 30 后,就无法在此位置读取或写入任何文件了。有没有什么解决方法?

Steps to Reproduce

有人吗

Hi,

抱歉,前两天出差,回复的比较慢。

引擎在打开bUseExternalFilesDir,是会使用getFilesDir/getExternalFilesDir目录作为数据存储目录的,这样写入的数据会随着app一起卸载掉。 如果没有勾选bUseExternalFilesDir,引擎使用的是getExternalStorageDirectory,这个主要是以前android外部存储的用法,是不会随着app卸载一起删除的。google最新的版本也是会使用更安全的方式来让app存储数据,防止别的app访问其他app的外部存储数据。

不过shipping版我们没有是用external file path,而是用的internal file path,主要是为了安全考虑,你如果想继续是用,可以修改一下这里,看看是否满足你需求。

[Image Removed]