Android L:与以前的Android版本兼容性

8
我今天向Play商店推送了一次更新,添加了Android L的Material Design布局和一些其它杂项漏洞修复。然而,那些没有使用Android L的用户无法进行更新。当尝试更新应用程序时,他们会看到“应用程序需要更高版本的SDK”的提示。
我使用了“android-L”来编译应用程序,我的最小SDK要求是14,目标SDK是“L”。我创建了一个新的values文件夹(values-v21),该文件夹使用了与我之前版本的Android的其他values文件夹相同的主题名称。但v21文件夹不是使用Theme.Holo.Light,而是:
  <style name="AppBaseTheme" parent="@android:style/Theme.Material.Light">

有没有什么方法可以在保持与Android 4.0-4.4兼容性的同时为Android L用户实现材料设计布局?

编辑:我正在使用Android API 20,L预览支持库。 回退到19会破坏与材料布局的兼容性。


1
你是否添加了其他内容,例如新的Android支持库链接? - CommonsWare
我实际上已经将我的支持库更新到API 20,L预览平台。我甚至没有意识到这一点。也许将其降级到19会解决问题? - Amonstan
1
回退到API 19支持库会破坏对Theme.Material.Light的支持,因此有没有任何向后兼容的方法,或者这是我们在SDK最终确定时才会看到的东西? - Amonstan
我也很想知道,难道不能在不考虑向后兼容的情况下开发这些新功能吗?当Android L发布时,我们是否需要保留两个版本的应用程序? - Zapnologica
1个回答

1
无论你在Gradle/Android Studios中做什么,如果将目标设置为L-Preview,它将覆盖你的minSDK。就目前而言,你不应该将L-Preview作为任何生产项目的目标。这就是为什么你的用户在尝试更新时会看到这个问题,这也意味着你不能在生产中使用Material Themes。
你应该回退并等待L的全面发布以使用材料布局。
引用页面中的语录:
注意:材料主题仅在Android L Developer Preview中提供。有关更多信息,请参见兼容性。 Material Theme L Compatibility

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接