我的目标是Android 19(因为那是我的手机正在运行的)。我想添加一个带按钮的通知;似乎正确的方法是使用appcompat-v7.app.NotificationCompat。
但是,当我从Android支持存储库修订版22.2(通过build.gradle依赖项)添加appcompat-v7时,它包含一个文件app / build / intermediates / explosion-aar / com.android.support / appcompat-v7 /22.2.0/res/values-v21/values-v21.xml无法编译,因为它假设目标是21 +。
我尝试删除该文件,但它会重新生成。
似乎没有办法从构建中排除文件。
所以,我需要获得一个旧版本的支持库或存储库,其中不包含21个东西。
我想我可以直接导入所有源代码(并省略v21的东西),而不是通过依赖项?我不清楚从哪里开始。 我可以使用SDK管理器来获取旧版本的SDK,但它只提供最新版本的支持库。
答案 0 :(得分:2)
在gradle构建文件中,将依赖项更改为19版本(库的版本应与您正在编译的sdk匹配):
dependencies {
compile 'com.android.support:appcompat-v7:19.1.+'
...
}
编辑:如果支持lib的v19没有NotificationCompat,那么除非您针对更高版本的SDK进行编译,否则不能使用它。您不能包含版本高于已编译SDK的支持库 - 这是您遇到的问题。
在这种情况下改变:
android {
compileSdkVersion 22
...
}
并将依赖项设置为appcompat support lib的22版本
答案 1 :(得分:2)
直接回答你的问题,这就是gradle上的所有一行:
.video-thumbnail i, .video-thumbnail img{
display: inline-block !important;
vertical-align: middle;
}
最后一部分是你得到的版本。 compile 'com.android.support:appcompat-v7:22.2.0'
就上面的例子而言。
在此链接上,您可以查看修订号: https://developer.android.com/tools/support-library/index.html#revisions
但是你的问题从根本上是错误的。您不必为您拥有的设备定位API。您可以轻松安全地定位最新的API,使用最新的22.2.0
功能和错误修复。
每当您尝试使用非AppCompat
的功能时,Lint都会向您发出警告,无论minimumApi