我在Google Play市场上有一个应用程序,我将android:installLocation="preferExternal"
添加到manifest.xml文件并很久以前就已发布。现在我想添加Android主屏幕小部件,因此我需要将其更改为android:installLocation="internalOnly"
。如果我这样做,用户升级时会发生什么?因为用户已在SD卡上安装了旧应用程序。这种情况的最佳解决方案是什么?
如果有人有这种经历,请告诉我。
提前致谢:)
答案 0 :(得分:1)
当您将安装位置设置为preferExternal时,应用程序特定文件将存储在外部SD卡的.android_secure目录中。
当用户将SD卡安装为USB Mass Storage(从Android Jelly Bean中删除功能)时,这些类型的应用程序不可用。
提出这个问题,我相信你的情况下,应用程序将安装到内部存储器上,并将.android_secure中的文件移动到内部位置。
您可以通过以下方式确认:
adb install -r myapp.apk
答案 1 :(得分:0)
一个老问题,但是根据我的测试,如果在SD卡上安装了一个应用,然后将清单更改为android:installLocation =“ internalOnly”(或省略android:installLocation属性,该属性相同),何时应用已升级,程序包管理器将自动将应用从SD卡移至内部存储。 不知道如果不可能的话会发生什么(例如,内部存储的根目录不足)。