繁体   English   中英

使用maxSdkVersion简化版应用

[英]Using maxSdkVersion for light version of an app

当我尝试在运行Gingerbread的设备上安装我们的应用程序时,遇到[LinearAlloc exceeded capacity][1]错误。 因此,我们决定将我们的应用程序分为两个版本:一个轻量级版本,仅具有我们的某些功能(针对API 8+),另一个则具有完整功能(针对minSdkVersion = 11)。

我的问题是:在这种情况下,我应该将灯光版本设置为maxSdkVersion=10吗? 问题在于开发人员指南强烈建议您避免使用此属性。 但我也希望用户只为他的设备查看我们应用程序的最佳版本。

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

我已经找到了解决此错误的方法,但所有方法都使用Ant,我们已经移至Gradle。 而且我们仍然有大量的姜饼用户,我们必须考虑他们。

这种方法行吗?

添加maxSdkVersion的不利之处在于,如果将来对设备进行升级,则将在此过程中删除您的应用程序。

您必须怀疑是否有人会麻烦升级2-3年的旧设备,或者是否还有可用的更新。

但是,要涵盖所有情况,您只需在“简明”版本中添加一个复选框即可通知用户他们可以在SDK> = 11的设备上安装完整应用程序。您也可以直接在Google Play中链接到该应用程序。

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

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

您问题的答案

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

在这儿:

一般而言,您应该避免使用android:maxSdkVersion ,因为只要您已经使用公共API正确开发了应用程序,它就始终与Android的未来版本兼容。 如果您要为更高的API级别发布不同的APK,则仍然不需要指定最高版本,因为如果android:minSdkVersion在一个APK中为“ 4”,在另一个APK中为“ 8”,则支持API级别8或更高版本将始终收到第二个APK(因为如前所述,其版本代码更高)。

因此,仅通过指定不同的android:minSdkVersion值来区分它们的APK清单就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM