将maxSdkVersion用于应用的简易版本

时间:2014-05-27 05:52:52

标签: android

当我尝试在运行Gingerbread的设备上安装我们的应用时,我遇到[LinearAlloc exceeded capacity][1]错误。所以我们决定在两个版本中打破我们的应用程序:轻松一个只有我们的一些功能(针对API 8+)和另一个具有我们的全部功能(针对minSdkVersion = 11)。

我的问题是:在这种情况下,我应该使用maxSdkVersion=10设置简易版吗?问题是开发人员使用此属性高度引导recommends to avoid。但我也希望用户只为他的设备看到我们应用程序的最佳版本。

我们的项目非常复杂,旧设备的性能也越来越差。

我发现了一些解决此错误的方法,但所有这些都使用了Ant,我们已经转移到了Gradle。我们仍有相当数量的Gingerbread用户,我们必须考虑它们。

这种方法可以吗?

2 个答案:

答案 0 :(得分:0)

添加maxSdkVersion的缺点是,如果设备将来升级,您的应用将在此过程中被移除。

你不得不怀疑是否会有人为了升级2-3岁的设备而烦恼,或者是否有可用的更新。

但是,为了涵盖所有场景,您只需在"灯光中添加一个支票即可。该版本通知用户他们可以在SDK> = 11的设备上安装完整的应用。您也可以直接在Google Play中链接到该应用。

答案 1 :(得分:0)

您可以尝试为您的应用带来多个APK支持。

http://developer.android.com/google/play/publishing/multiple-apks.html#HowItWorks

您问题的答案

  

在这种情况下,我应该设置maxSdkVersion = 10的灯光版本吗?

在这里:

  

你应该避免使用android:maxSdkVersion,因为as   只要您使用公共API正确开发应用程序,   它始终与Android的未来版本兼容。如果你想   要发布不同的APK以获得更高的API级别,您仍然不会   需要指定最大版本,因为如果   android:minSdkVersion在一个APK中为“4”,在另一个设备中为“8”   支持API级别8或更高的API将始终接收第二个APK   (因为它的版本代码更高,按照前面的说明)。

通过仅指定不同的android:minSdkVersion值来区分您的清单中的APK就足够了。