将android:installLocation从preferExternal更改为internalOnly

moo*_*cle 11 installation android android-widget android-sdcard

我在Google Play市场上有一个应用程序,我添加android:installLocation="preferExternal"到manifest.xml文件并很久以前发布.现在我想添加Android主屏幕小部件,所以我需要将其更改为android:installLocation="internalOnly".如果我这样做,用户升级时会发生什么?因为用户已在SD卡上安装了旧应用程序.这种情况的最佳解决方案是什么?

如果有人有这种经历,请告诉我.

提前致谢 :)

Pra*_*nCG 2

当您将安装位置设置为preferExternal时,应用程序特定文件将存储在外部SD卡的.android_secure目录中。

当用户将 SD 卡安装为 USB 大容量存储时,这些类型的应用程序不可用(该功能已从 Android Jelly Bean 中删除)。

说到这个问题,我相信在您的情况下,应用程序将安装到内部存储器上,并将 .android_secure 中的文件移动到内部位置。

您可以通过以下方式确认这一点:

  1. 从 Play 商店安装应用程序,并将安装位置设置为preferExternal。
  2. 确认您的应用程序安装在外部SD卡中,您可以使用“设置”->“应用程序”进行检查。
  3. 现在创建新的签名应用程序包。
  4. 安装使用adb install -r myapp.apk
  5. 再次转到“设置”->“应用程序”并确认位置。
  6. 运行功能测试以查看是否有任何损坏。