我一直在尝试解决这个问题一段时间,我确信在Android开发博客或者SO之前我已经看到了这个问题,但它现在正在逃离我。如果可能的话,我想知道使用单个APK定位不同API级别的最佳方法。
例如,我希望能够利用新的Ice Cream Sandwich功能和UI模式,但也希望支持Gingerbread及以下版本。最好的解决方案是使用类似的代码库制作不同的项目,但重写特定功能以使用特定功能并在市场中发布multiple APKs,还是可以使用反射形式缩小尺寸?
非常感谢任何帮助,谢谢!主要是,我想知道多个APK是否一定是坏的,或者如果我用一个APK会更好。
答案 0 :(得分:3)
这是针对向后兼容性的规范博客文章:http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html
ICS - >如果您使用自定义主题或想要使用片段,姜饼可能会变得复杂。
我正在为developer.android.com写一篇文章,详细介绍了这个,但简短的版本是:
创建res / values-v11和res / values文件夹。 v11文件夹应包含从android.theme.Holo
继承的主题,而非v11文件夹应包含从android.theme
继承的主题。如果您不使用自定义主题,则可以跳过此步骤 - 设置targetSdkLevel
> = 11将为您完成所有魔法。
使用支持包在预蜂窝设备上提供片段/加载器支持:http://developer.android.com/sdk/compatibility-library.html