当前位置: 首页 > 知识库问答 >
问题:

我可以在当前的Android版本中使用Android L预览版支持库中的小部件吗?

苗冯浩
2023-03-14

我试图在现有的Android版本中使用RecycerView&CardView。他们说它在支持库里。因此,我应该能够使用那些将“compilesdkversion”put为“Android-l”的代码。对吧?

我正在尝试使用那些没有Android L预览设备或模拟器的小部件。我已经检查了关于这件事的其他问题。但是,似乎他们都在用Android-L版本来尝试Android-L。

这是我的依赖关系。

共有1个答案

齐晟
2023-03-14

我刚刚找到了解决方案。
为什么我不能用RecycerView和CardView构建应用程序,而targetSdkVersion和minSdkVersion不是“Android-L”,是因为谷歌在内部设计了不同于原始版本的操作系统预览版。

当我编译包含Android-L组件的应用程序时,构建工具将minSdkVersion和targetSdkVersion锁定在同一级别。新的支持库(RecycerView、CardView、Palette等)也被锁定在L API级别。

这种行为只发生在这个Android-L预览版上。

对它的修复是将以下内容放在AndroidMANIFEST.xml中。
我不需要更改gradle脚本上的任何内容。

<uses-sdk
  tools:node="replace" />

从0.11版本的Android Gradle插件开始,默认情况下它打开了一个新的清单合并。它允许我们做一些有趣的东西。这个特定的配置告诉清单处理器用这个属性替换低优先级清单中use-sdk节点中的任何属性(如本例中的库清单)。

由于Gradle还从您的build.Gradle中插入了minSdkVersion和targetSdkVersion,所以我们真正需要添加的就是这个uses-sdk节点。

 类似资料: