混淆android minSDK

时间:2013-11-17 14:06:52

标签: android

我对minSDK有疑问。我在这里采用了一个项目示例:Contacts Providers

此项目有一个minSDK = 5。在styles.xml中,某些属性需要更高的sdk版本,如:

android:textAllCaps --> min 14
android:fontFamily --> min 16

但该项目没有任何错误并且运行良好。

当我将一些样式复制到我项目中的styles.xml时。它会导致错误:

android:textAllCaps requires API level 14 (current min is 11)
...

有人可以帮我解决编译错误吗?

2 个答案:

答案 0 :(得分:1)

您可以使用资源限定符在相应的minSDK版本中使用这些样式。在您的资源目录中:有基础styles,添加文件夹到res / styles-v14(用于冰淇淋三明治和更高,minSDK为14)和styles-v16(等等)如果你需要在可用的时候应用这些样式,那么就可以了。)

现在,当样式需要更高版本的SDK时,请将其放在相应的样式资源目录中。 textAllCaps进入styles-v14,android:fontFamily进入styles-v16。

可以在资源限定符上找到更多内容;) http://developer.android.com/guide/topics/resources/providing-resources.html

希望这有助于伙计,快乐的编码!

答案 1 :(得分:0)

编辑:之前误解了问题/场景。遗憾!

我认为问题是您的目标API级别。确保目标api级别至少是引入API的级别。在这种情况下,14。

如果你从命令行构建,你就可以

android更新项目-p -t

(我认为该命令的作用只是更新project.properties并设置target = android-14)