请解释gradle dependancies vs min build sdk

时间:2017-10-22 08:27:20

标签: android android-gradle android-api-levels

Android初学者......

我遇到了各种渲染错误,并最终得出结论,这与我的gradle依赖关系有关。

现在我找到了一个很好的教程,我一直在关注,http://www.android4devs.com/2015/06/navigation-view-material-design-support.html但是我遇到了进一步扩展的问题,而且有些事我认为我不理解。

我可以不使用任何库的最新稳定版本吗?当然这些库是向后兼容的吗?

如果我应该使用旧版本的库,以匹配编译sdk(我理解为意味着我正在编译以实现向后兼容性,并支持,比如说,棒棒糖API 21-22),那么:

  1. 我需要一个地方才能看到所有库的所有版本的完整列表(我找不到),
  2. 我无法使用仅在Marshmallow API 23中引入的RecyclerView等新功能。
  3. 我错过了什么吗?

    build.gradle(模块应用)

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 22
        buildToolsVersion '25.0.0'
    
        defaultConfig {
            applicationId "com.example.myFirstApp"
            minSdkVersion 15
            targetSdkVersion 22
            versionCode 1
    ...
    ...
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:26.1.0'
        compile 'com.android.support:design:26.1.0'
        compile 'de.hdodenhof:circleimageview:1.3.0'
        compile 'com.intuit.sdp:sdp-android:1.0.3'
        compile 'com.android.support:cardview-v7:26.1.0'
        compile 'com.android.support:recyclerview-v7:26.1.0'
    

    错误消息

    支持库不应使用与编译sdk版本(22)不同的版本(26)。

1 个答案:

答案 0 :(得分:1)

您正在使用

compileSdkVersion 22

compile 'com.android.support:appcompat-v7:26.1.0'
你得到的错误是因为你使用compat版本 26 而compileSdkversion 22

您应该将compileSdkVersion更新为26并且android studio将下载所需的文件,以便您的错误将被删除。如果您无法将compilesdk版本更新为26.则将支持库版本更改为22.2.1

compile 'com.android.support:appcompat-v7:22.2.1'

从链接

获得支持库列表

https://developer.android.com/topic/libraries/support-library/rev-archive.html

https://developer.android.com/topic/libraries/support-library/revisions.html