一款Android应用程序可以同时针对不同设备使用不同的版本吗?

问题描述:

我注意到,对于Google Play中的某些应用,他们的“当前版本”表示“随设备而异”。有人知道它究竟意味着什么吗?这是否意味着开发人员需要手动为同一个应用程序制作不同的版本?如果是这样,是因为API向后兼容性还是供应商特定的事情?一款Android应用程序可以同时针对不同设备使用不同的版本吗?

似乎Android建议使用反射或包装类来处理API向后兼容性 - http://developer.android.com/resources/articles/backward-compatibility.html。所以也许这是后一种情况?

谢谢!

这是Google Play(以前称为Android Market)的一项功能。您可以为不同的配置发布不同的.apk文件(包括不同版本的应用程序)。这不仅包括API级别,还包括其他设备特性。您可以为平板电脑设备制作一个版本,为较小屏幕制作另一个版本;或者一个用于带有键盘的设备,另一个用于没有的设备;等等。

如果开发人员使用反射,那么只会有一个.apk文件,Google Play会显示确切的应用程序版本。

+0

谢谢你的回答,特德。不过,我认为所有这些APK都应共享一个版本,即使它们是针对不同设备定制的。对用户来说,一个版本显示了一个版本具有哪些功能/缺陷修复。他们不关心不同的设备。这只是令人困惑,当我安装一个应用程序,我甚至不知道我使用的是哪个版本。 – evergreen 2012-03-18 17:12:40

+0

@evergreen - 好的,就是这一点。将每种设备配置视为不同的平台(所有Android,但不同的硬件)。有时,为每个平台维护单独的.apk文件会更容易(甚至可能是不同的开发团队)。对于大多数产品,不同平台的发布会沿着不同的时间轴进行。这些功能甚至可能会有所不同,但是,是否考虑使用不同的.apk文件作为独立产品或同一产品的不同版本是业务决策。 Google Play支持两种方式。 – 2012-03-18 18:28:06

Multiple APK Support

多APK支持是在谷歌播放功能,可以让你发布你的应用程序不同的APK,它们各自针对不同的设备配置。每个APK都是应用程序的完整独立版本,但它们在Google Play上共享相同的应用程序列表,并且必须共享相同的软件包名称并使用相同的发行密钥进行签名。此功能适用于您的应用程序无法通过单个APK访问所有所需设备的情况。