2

我有两个问题:

1. Android 清单中的“ android:installLocation ”标签是否会影响更新和全新安装?

我在市场上有一个完全没有“android:installLocation”的已发布应用程序,我正在考虑将以下内容之一添加到清单中:

android:installLocation="auto"
OR
android:installLocation="preferExternal"

这会影响那些只更新应用的用户吗?他们的应用程序可以转移到外部存储吗?

我的第二个问题是假设答案是“是”。

2. 如果在更新期间移动应用程序,与该应用程序关联的数据是否会受到影响?例如数据库或共享首选项文件。

文档说“ .apk 文件保存在外部存储中,但所有私人用户数据、数据库、优化的 .dex 文件和提取的本机代码都保存在内部设备内存中。”

但我担心系统可能会执行完整的卸载/安装周期,而不是正常更新,这会擦除数据。这在我的情况下是不可接受的。

很抱歉,我无法通过实验自己回答这个问题,但是我无权访问任何具有外部存储的设备。希望有人已经完成了上述操作,并且可以以一种或另一种方式确认结果。

额外信息:minSDK = 10 targetSDK = 17

谢谢你的帮助:

蒂姆

4

1 回答 1

3

回答你的第一个问题。是的。它将影响现有用户的更新。

但我担心系统可能会执行完整的卸载/安装周期,而不是正常更新,这会擦除数据。这在我的情况下是不可接受的。

唯一发生这种情况的情况是您更改了签名密钥。它是识别您的应用在 Google Play 上独一无二的关键。

说真的,就这一点而言,你没有什么可担心的。

您的数据将保留在内部存储中。这对安全很重要。

只有当您将数据存储在 sd 卡上并将您的应用程序存储在内部存储器上时,才会真正出现问题。您必须考虑数据可能不可用的事实。但就像我说的。适合您的场景。你真的不用担心。

于 2013-08-07T16:40:31.730 回答