04-04 21:54:58.653: W/PackageManager(2127): Package org.ucam.ssb22.pinyinwol shared user changed from <nothing> to org.ucam.ssb22.annogen; replacing with new 04-04 21:54:58.708: I/Boottime(2127): Fail Safe scanning for:/mnt/asec/org.ucam.ssb22.pinyinwol-1/pkg.apk 04-04 21:54:58.708: W/PackageManager(2127): Package Couldn't be installed in /mnt/asec/org.ucam.ssb22.pinyinwol-2/pkg.apk
进一步搜索表明,一般的共识是你永远不应该将一个sharedUserId属性添加到已经发布的应用程序中,或者用户将获得INSTALL_Failed_UID_CHANGED(尽管该字符串不在这些特定日志中;我认为这取决于Android版本) .
但我现在不能仅删除sharedUserId,因为一些新用户在过去5周内重新安装了应用程序,并且可能其中一些用户还在Android版本上无法应对更新期间更改的sharedUserId.
我很乐意告诉Play商店“如果任何用户的设备无法应对更新此应用程序,请卸载旧版本并为其全新安装”. (或者甚至“请无条件地将此更新作为全新安装”.)但是在AndroidManifest或Play Store控制台上似乎没有任何方式可以说.我发现了解决方案涉及应用程序本身的代码,但我的问题是我的应用程序将无法安装,直到数据被擦除,我无法告诉用户擦除数据,除了通过发布建议我在任何地方可以并且希望他们看到它 – 很可能不会.
我能想到的唯一解决方案是使用sharedUserId和sharedUserId交替推出更新,在每个更新之间等待一段时间,希望受影响的设备至少安装两个更新中的一个.这当然会牺牲共享书签功能(除非我首先使用除sharedUserId之外的某种机制重新实现它)并且它不是一个非常优雅的解决方案.所以我发布这个问题是希望有人可以在我陷入这个混乱之后建议我应该做些什么.
解决方法
>在星期一发布带有sharedUserId的版本,带有额外的启动代码来检查日期和(a)如果它在发布后的7天内,它说下周的更新可能是一个问题,但不要担心并等待以下一周,(b)如果它在发布后的14天内,它表示本周的更新可能是一个问题,但不要担心,等待下周的.
>接下来的星期一,发布没有sharedUserId的版本,设置工作几周然后完全停止工作,告诉用户他们必须卸载并重新安装应用程序.
>之后的星期一,发布一个版本,其中sharedUserId恢复正常.
我的计划是,这将导致(a)设备不关心sharedUserId的用户将通过所有3个版本自动升级,除了版本1的消息(在他们的情况下是假的)之外没有注意到任何东西,(b)设备卡住的用户在pre-sharedUserId版本上将获得版本2,并且随后将告知卸载并重新安装版本3是当前版本,(c)其设备卡在post-sharedUserId上的用户将获得版本1和3,并且将仅注意到在第2版本周期间“未能更新”消息,他们在版本1中被警告过.
根据Play商店的统计数据,实际发生的事情是:
>在第1周结束时,超过55%的活跃用户被卡在我设置sharedUserId之前发布的最新版本上,加上早期版本的20%(因此超过75%被“落后”).大约15%的活跃用户下载了警告第2周更新可能失败的版本.
>在第2周结束时,“我的sharedUserId陷入困境之前的最后一个版本”的数字从我的活跃用户的55%下降到16%.大约45%的活跃用户已升级到非sharedUserId第2周版本(如果第3周的版本未能自动替换,则设置为告诉他们重新安装的版本),另有12%的用户仍然在第1周版本并被告知不要担心.我有大约19%的人坚持使用早期版本(低于20%).我开始怀疑19%的人大多数都禁用了他们的更新.
>在第3周中途,在第2周版本开始告诉用户重新安装后的第1天,我在第2周的版本中有44%(并被告知他们必须重新安装以进行更新,所以至少现在他们知道了),16%第3周,13%在“最后版本搞砸之前”,仍然是旧版本的尾巴.
所以这不是一个完美的答案,但在我的情况下,它至少帮助我告知超过四分之三的受影响用户他们现在需要重新安装,这比他们都不知道的要好.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。