我正在开发一款针对Android 4.4(API级别19)的应用,并在此令人烦恼的bug中招致。
基本上,即使在未达到该级别的设备上运行,appcompat支持库也会引用API Level 21。在这种情况下,我的设备正在运行API级别19。
由于导致崩溃的功能在API级别19可用,如果我使用appcompat19,我就没有问题。所以我决定尝试以不同的方式构建我的项目......我注意到我甚至无法想象Android Studio对某些术语的含义。我发誓我访问了Android网页,但是 - 通常就是这种情况 - 它们非常糟糕(至少在我的大脑水平上)。
例如,通过右键单击模块并选择Open module settings
,这意味着什么?
当我选择:
Compile Sdk Version
= API 19: Android 4.4 (KitKat)
和Build tools version
= 19.1.0
(如图所示)在Flavors
标签中使用这些设置:
构建失败并出现大量错误,例如:
Error:(50, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
指着:
<style name="Base.Theme.AppCompat" parent="Base.V11.Theme.AppCompat">
<item name="android:actionModeCutDrawable">?actionModeCutDrawable</item>
<item name="android:actionModeCopyDrawable">?actionModeCopyDrawable</item>
<item name="android:actionModePasteDrawable">?actionModePasteDrawable</item>
<item name="android:actionModeShareDrawable">?actionModeShareDrawable</item>
</style>
第一个问题:我应该如何使用Compile Sdk Version
\ Build Tools Version
微调器?我安装了Level 21和Level 19,如{{{ 1}}资源管理器:
如何使用上面显示的设置而不会产生100多个编译问题?我清理,重建,无效的缓存,我甚至杀死了进程,但没有任何变化。
第二个问题由于该错误与引用appcompat库的最新版本(21)的支持库有关,有什么方法可以:
使用Level 19构建工具构建我的项目吗?
使用appcompat-v19而不是appcompat-v21?
如果可以,我在哪里可以找到它? Project
仅显示appcompat v21。