安卓应用程序安装位置

3

我想知道将应用程序放在Google Play上时,android:installLocation =“preferExternal”或不提及位置的哪个更好。

  1. android:installLocation =“preferExternal”
  2. 没有提及位置

在下面的语句中,versionCode和versionName之间有什么区别?

android:versionCode="1"
android:versionName="1.0" 

Thanks In Advance


安装位置通常不是由用户决定的吗?此外,我认为versionCode是在内部使用的,而versionName是在商店中显示的。 - PaulG
4个回答

11

如果您声明“preferExternal”,则请求将应用程序安装在外部存储上,但系统不能保证您的应用程序将安装在外部存储上。如果外部存储已满,则系统将其安装在内部存储器上。用户还可以在两个位置之间移动您的应用程序。

如果您声明“auto”,则表示您的应用程序可以安装在外部存储器上,但您没有安装位置的优先选择。系统将根据几个因素决定安装您的应用程序的位置。用户还可以在两个位置之间移动您的应用程序。

android:installLocation="auto"
    android:versionCode="5"
    android:versionName="0.5.02"

从SDK版本23开始,是否可以将APK从内部存储移动到外部存储?因为我没有找到这个选项。我认为权限已经从Android操作系统中删除了。请帮忙。 - Bhagyashri

4
根据Android API指南的说明,从API Level 8开始,您可以允许应用程序安装在外部存储器上(例如设备的SD卡)。这是一项可选功能,您可以使用android:installLocation清单属性为应用程序声明。如果您不声明此属性,则您的应用程序仅安装在内部存储器上,不能移动到外部存储器。我认为最好声明android:installLocation,因为:
  1. 某些设备的内部存储空间有限。
  2. 用户可以选择在内部和外部存储之间移动应用程序。
请参阅Android API指南中有关应用程序安装位置的更多信息。 (链接) 此处(链接)将回答有关android:versionCode和android:versionName的问题。希望这可以帮助!

我们在使用内部存储时与外部存储相比是否有任何优势? - iappmaker
看,我已经编辑了我的答案。请查看我答案中提供的新链接。有些情况下,将应用程序安装在外部存储中并不好。 - Dulanga

1
我想知道在谷歌商店上发布应用时,哪种方式比较好?
这取决于您的应用需求。例如我正在开发类似睡眠周期应用这样的应用程序,需要一个整晚不停止运行的服务。如果您使用preferExternal将应用程序放置在SD卡中。当用户卸载外部存储设备后,其中这些进程运行的会被终止。
在这种情况下,我必须设置android:installLocation="internalOnly"
当您将应用放置在外部存储器中时,它将无法接收系统广播

1

versionCode — 一个整数值,表示应用程序代码的版本相对于其他版本。 versionName — 一个字符串值,表示应用程序代码的发布版本,应向用户显示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接