android - sharedUserId : safe to change when app is already in market?

标签 android userid sharedpreferences

对于我们应用程序的下一个版本,我想更改 sharedUserId,因为我们现在使用一个内部控制仪表板应用程序,该应用程序必须写入其他应用程序的设置文件。

但是由于该应用程序已经安装在许多手机上,这会是一个问题吗?我在模拟器上运行了一个小测试,我在设备日志中看到无法写入 *.bak 版本的首选项文件的异常。不确定这有多重要。奇怪的是,即使 shared_prefs 文件夹是使用另一个 Linux 用户 ID 创建的,安全设置似乎仍然有效。

以前有人试过吗?

最佳答案

再回答我自己的问题:

不,不安全。由于通过 Android Market 更新应用程序不会删除数据库和偏好文件,因此新版本将无法读取或写入这些文件(因为它们是创建的在不同的 Linux 用户 ID 下),并且应用程序将在更新后崩溃。您必须要求您的用户完全卸载并重新安装该应用程序,这当然不推荐。

作为一般规则,我由此得出结论: 每当您开始开发新应用时,请务必手动设置 android:processandroid:sharedUserId 属性!如果您不需要它并没有什么坏处,但它可以让您完全控制哪些应用可以访问此应用的私有(private)资源。

关于android - sharedUserId : safe to change when app is already in market?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3254157/

相关文章:

android - Android 的 StrictMode 的生命周期是什么?

android - 地理编码 API 与地理编码器

android - 如何检索 XML 文件中定义的首选项的默认值

android - 无法查询使用 Realm

android - RecyclerView - NotifyItemInsert 上没有动画

userid - 从 Siteminder smsession 中检索用户 ID

ios - 如何在Google Analytics界面查看userID?

mysql - 使用 MySQL 计算两个表之间的每月用户分数?

android - 如何将 ArrayList 或 HashMap 存储到文件或 SharedPreferences 中?

android - 用于身份验证和服务器通信的 Accountmanager 与 sharedpreference