我有两个问题:
1。 Android清单中的“android:installLocation”标记是否会影响更新以及全新安装?
我在市场上发布的应用程序根本没有“android:installLocation”,我想在清单中添加以下内容之一:
android:installLocation="auto"
OR
android:installLocation="preferExternal"
这会影响只更新其应用的用户吗?他们的应用程序可以转移到外部存储吗?
我的第二个问题是假设答案是“是”。
2。如果在更新期间移动了某个应用,那么与该应用关联的数据是否会受到影响?例如。数据库或共享首选项文件。
documentation表示“.apk文件保存在外部存储设备上,但所有私有用户数据,数据库,优化的.dex文件和提取的本机代码都保存在内部设备内存中。”
但我担心的是,系统可能执行完全卸载/安装周期而不是正常更新,这将擦除数据。这在我的情况下是不可接受的。
对不起,我不能通过实验自己回答这个问题,但我无法访问任何有外部存储设备。希望有人已经完成了上述工作,并可以这样或那样的方式确认结果。
额外信息: minSDK = 10 targetSDK = 17
感谢您的帮助:
添
答案 0 :(得分:3)
回答你的第一个问题。是。它将影响现有用户的更新。
但我担心的是,系统可能不是正常更新 执行一个完整的卸载/安装周期,这将擦除数据。这个 在我的情况下是不可接受的。
唯一一次出现这种情况的原因是您更改了签名密钥。这是确保您的应用在Google Play上独一无二的关键。
严重的是,就这一点而言,你没有什么可担心的。
您的数据将保留在内部存储空间中。这对安全很重要。
只有将数据存储在SD卡和内部存储上的应用程序时才会出现问题。您必须考虑到数据可能不可用的事实。但就像我说的那样。为您的方案。你真的不必担心。