我正在尝试使用RecyclerView&现有Android版本的CardView。他们说它在支持库中。所以,我应该可以使用put“compileSdkVersion”到“Android-L”。对吗?
我正在尝试使用没有Android L预览设备或模拟器的那些小部件。我已经检查了有关此问题的其他问题。但是,似乎他们都在试用Android-L和Android-L版本。
这是我的依赖项。
编译'com.android.support:support-v4:13.0.+'
编译'com.android.support:recyclerview-v7:+'
这是我的目标配置
minSdkVersion 15
targetSdkVersion 20
提前感谢任何想法。
答案 0 :(得分:15)
我刚刚找到解决方案 我之所以无法使用RecyclerView&amp ;; CardView虽然 targetSdkVersion 和 minSdkVersion 不是“Android-L”,但是因为内部Google设计的处理操作系统的预览版本与原始版本不同版本。
当我编译包含Android-L组件的App时,构建工具将 minSdkVersion 和 targetSdkVersion 锁定到同一级别。新的支持库(RecyclerView,CardView,Palette等)也被锁定在L API级别。
此行为仅发生在此Android-L预览版上。
它的修复是将以下内容放在AndroidManifest.xml中。
我不需要在gradle脚本上更改任何内容。
<uses-sdk
tools:node="replace" />
自Android Gradle Plugin版本0.11开始,默认情况下它启用了一个新的Manifest Merger。它允许我们做一些niffy东西。此特定配置告诉清单处理器使用此属性替换较低优先级清单(例如本例中的库清单)中的uses-sdk节点的任何属性。
由于Gradle还将build.gradle中的minSdkVersion和targetSdkVersion插入到这个uses-sdk节点中,这就是我们真正需要添加的内容。
答案 1 :(得分:1)
最佳解决方案是RecyclerViewLib。支持库已被拉入回购并在maven central上发布。即使在释放L之后它也是安全的,因为所有L依赖代码都已被删除。作者在他的blog post中解释了这一点。
要在项目中使用它,只需在build.gradle依赖项中添加以下行:
compile 'com.twotoasters.RecyclerViewLib:library:1.0.+@aar'
祝你好运!
答案 2 :(得分:0)
不,你必须在7以上设置targetSdkVersion。你可以使用android支持库v7与支持7以上api级别的android的项目。 还有一个。 Android L有api级别'android-L',而不是20.在引擎盖下它有api等级21(20是4.4W,KitKat用于可穿戴设备)。