unity打包的程序无法访问/storage/emulated/0/models/
时间: 2023-12-15 21:03:28 浏览: 196
根据提供的引用内容,可以得知/storage/emulated/0/models/是一个应用数据存放的路径,而Unity打包的程序默认无法访问该路径。这是因为在Android系统中,每个应用都有自己的私有目录,其他应用无法访问。因此,如果需要访问该路径下的数据,可以将数据移动到应用的私有目录中,例如persistentDataPath。
下面是一个示例代码,可以将指定路径下的文件移动到应用的私有目录中:
```csharp
using System.IO;
using UnityEngine;
public class MoveFiles : MonoBehaviour
{
public string sourcePath; // 源文件路径
public string fileName; // 文件名
void Start()
{
// 获取应用的私有目录路径
string destPath = Application.persistentDataPath + "/" + fileName;
// 如果文件不存在,则将文件从源路径移动到应用的私有目录中
if (!File.Exists(destPath))
{
File.Move(sourcePath, destPath);
Debug.Log("File moved to: " + destPath);
}
else
{
Debug.Log("File already exists at: " + destPath);
}
}
}
```
需要注意的是,如果要访问外部存储器中的文件,需要在AndroidManifest.xml文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
阅读全文