[英]Why my map app crashes if I set maxSdkVersion in the WRITE_EXTERNAL_STORAGE permission?
[英]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.