如何从 Java/Android 访问 Unity 设置?

Posted

技术标签:

【中文标题】如何从 Java/Android 访问 Unity 设置?【英文标题】:How to access Unity settings from Java/Android? 【发布时间】:2019-09-01 19:01:32 【问题描述】:

我在 Unity 中发布了一个游戏。现在我想用 Java/android 发布更新。

问题是我想导入现有的游戏设置。在Unity docs 中写着:

在 Android 上,数据存储(持久)在设备上。数据已保存 在共享首选项中。 C#/javascript、Android Java 和 Native 代码可以 all 访问 PlayerPrefs 数据。 PlayerPrefs 数据是物理的 存储在 /data/data/pkg-name/shared_prefs/pkg-name.xml 中。

问题是 Unity 将数据保存在哪个键中?我试过了:

SharedPreferences sharedPreferences = this.getSharedPreferences("com.mycompany.app", Context.MODE_PRIVATE);
Map<String, ?> allEntries = sharedPreferences.getAll(); // it returns nothing

我也尝试访问该文件:

File file = new File("/data/data/com.mycompany.app/shared_prefs/com.mycompany.app.xml");
boolean exists = file.exists(); // it doesn't exist

【问题讨论】:

【参考方案1】:

这是您可以自己查看存储的共享首选项的方法。

    打开 Android Studio 并插入安装了游戏的设备 在 AS 右下角找到标签为“设备文件资源管理器”的选项卡 在生成的文件夹结构中导航到data/data/your_package_name/shared_prefs

【讨论】:

非常感谢。它被保存在一个文件中,如:/data/data/com.mycompany.app/shared_prefs/com.mycompany.app.v2.playerprefs.xml .. 所以为了安全起见,最好列出该目录中的所有文件。

以上是关于如何从 Java/Android 访问 Unity 设置?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Unity C# 从 android 内部存储访问图像和 3D 对象

如何从我的 Unity Android 应用程序访问 Spotify API?

从 Java Android 代码访问 string.xml 资源文件

如何用Lua来访问Unity 控件的属性

如何使用 Unity 创建和访问小型服务器?

在 Unity 中,如何将值从一个脚本传递到另一个脚本?