【问题标题】:Is it all com.android.support libraries and SDK version must be equal, higher, or lower?com.android.support 库和 SDK 版本是否必须相等、更高或更低?
【发布时间】:2018-05-28 08:18:13
【问题描述】:

如果您查看我的 2 个库,即 (support:appcompat-v7:24.2.1 和 support:design:25.3.1),它在红线上显示“此库不应使用其他版本 (25 ) 而不是 compileSDKVersion(24)。我应该将我的 SDK 更改为更高版本还是将我的支持库更改为低于 SDK 或高于 SDK 的版本?

android {
    compileSdkVersion 24
    buildToolsVersion "27.0.3"
    lintOptions{
        abortOnError false
    }
    defaultConfig {
        applicationId "com.sangabriel.myrealapp"
        minSdkVersion 23
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
         release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
     }
}

dependencies {

    // Firebase
    compile 'com.google.firebase:firebase-core:16.0.0'

    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
         exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'

    // Design library for Coordinator Layout and Toolbars
    compile 'com.android.support:design:25.3.1'

【问题讨论】:

  • 这个错误告诉你该怎么做。最好停止搜索解决方案简单的问题^^

标签: java android android-studio sdk


【解决方案1】:

是的,当您使用任何 google 或核心库时,其所有版本都应该相同。

在您的情况下,您可以做两件事。 你的compileSdkVersion24 这样你就可以使用这两个东西中的任何一个

  1. 您可以将所有库/依赖版本更改为 24.2.1compileSdkVersion

  2. 您可以将所有库/依赖项版本更改为 25.3.1 以更新版本

示例

1.案例一

compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'

2.案例二

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

【讨论】:

  • 我按照案例一,但为什么我的 appcompat 仍然处于红线?
  • 如果我想更新我的compileSDK版本,我应该怎么做?提前谢谢。我只是android的初学者,我只需要一些信息。谢谢!
  • @RaemarcSanGabriel 有多种方法可以实现这一目标。简单的方法是你可以直接将 24 更改为 25 并重新同步项目它将下载新的依赖项和所有内容。但最好的事情是遵循这一步。选择菜单项 File->Project Structure,然后单击您的模块(如 MyApp),您将在 Properties 选项卡中找到“Compile Sdk Version”。
  • 已经完成。现在一切都好,感谢您回答我的问题!刚刚面临我关于 FirebaseAuthCredentialsException 的新问题:密码无效或用户没有密码。有这方面的信息吗?谢谢!
  • 在 SO 中添加一个新问题。连同问题一起,请提及您的堆栈跟踪。这将有助于确定问题。还要在此评论中提及该问题。 @RaemarcSanGabriel。
【解决方案2】:
  compile 'com.android.support:appcompat-v7:24.2.1'
  compile 'com.android.support:design:24.2.1'

库和 SDK 版本必须相同。

【讨论】:

  • 非常感谢您回答我的问题呵呵。只是一个初学者需要更多信息来学习。 :)
【解决方案3】:

因为您的整个 android 项目都停留在 24 版本。我的想法是降低设计依赖性:

compile 'com.android.support:design:24.2.1'

如果你想保持最新,那么你也可以这样做。

【讨论】:

  • 谢谢。现在一切对我来说都有意义了,呵呵
猜你喜欢
  • 1970-01-01
  • 2017-07-23
  • 2017-11-12
相关资源
最近更新 更多