【问题标题】:The sdk platform-tools version (26.0.2) is too old to check APIs compiled with API 27; please updatesdk platform-tools 版本 (26.0.2) 太旧,无法检查使用 API 27 编译的 API;请更新
【发布时间】:2017-11-08 11:36:48
【问题描述】:

我正在使用 IntelliJ Idea Community Edition 2017.2.5 并正在构建一个 Android 应用程序。

我的问题是,即使在我的应用程序(Gradle)中我有:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.0"
    defaultConfig {
        applicationId "com.app.mtvtr"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}
dependencies {
    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:27.0.0'
    compile 'com.android.support:design:27.0.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
    compile 'com.android.support:support-v4:27.0.0'
    testCompile 'junit:junit:4.12'
}

另外,在第一次构建项目时,为 appcompat 编译,设计和支持设置为 27+(恕我直言,这是不好的做法,工作室已经指出这是一个坏主意),所以我使用了哪些工具有,我已将其设置为 27.0.1,后来设置为 27.0.0 只是为了测试它是否可以工作..

在我的片段和活动中,我有:

警告说:

SDK 平台工具版本 (26.0.2) 太旧,无法检查 API 使用 API 27 编译;请更新

现在,我知道关于 SO 有关于旧版本和新版本的主题,但我(据我所知)正确设置了 Gradle,我无法使用平台工具版本 26 甚至 26.0.2...

我已经尝试过 3 次重新启动缓存并使缓存失效。

项目正确构建到设备上,一切正常。但是,当然,我想修复警告。 (不要像某些人建议的那样隐藏它..)

想到的两件事是:

  1. 我错过了应该更新版本的地方,也许?
  2. 我需要从头开始一个新项目。

有什么想法吗? :)

【问题讨论】:

  • 看看它是否适用于 AS 3.0。它还没有合并到 IntelliJ IDEA 中。
  • @CrazyCoder 谢谢,你可能会做一些事情,我会试试的,我已经下载了最新的 AS,所以我会从那里开始.. 我一直认为首先更新进入 Idea,然后进入作为:D
  • 我有同样的问题,由于现场项目,我无法将 Android Studio 升级到 3.0 任何解决方案?

标签: android intellij-idea gradle sdk platform-tools


【解决方案1】:

Android Studio 3.0 将合并到 IntelliJ IDEA 2017.3 版本中,这将使com.android.tools.build:gradle:3.0.0 插件与其兼容。这将使这个错误消失。

对于那些在 Android Studio 中遇到此问题的人,请检查您的根 build.gradle 文件并确保它已更新到上述插件版本 (3.0.0),以便能够针对 API 进行编译27 与当前最新的构建工具 (26.0.2)。

因此,您可能还必须将 Gradle 包装器更新到最新版本(4.1 在本回答时)。

【讨论】:

    【解决方案2】:

    您只需启动 SDK 管理器并下载 Android SDK 平台工具SDK 工具

    这里是official doc.

    【讨论】:

    • 看页面developer.android.com/studio/releases/sdk-tools.html好像没有没有 SDK Platform-Tools 27,目前最新的是26.0.2
    • @SomeoneSomewhere 看起来就像那个页面上的那样,但在 SDK 管理器中有版本 27(甚至是修订版 27.0.1),Gradle 清楚地表明有一个更新的版本。这可能是问题本身...?
    • 文档未更新。版本 27 存在。由于您使用的是 compileSdk 27​​ 和支持库 v27,因此您还应该使用平台工具的版本 27。
    • 这是我得到的 imgur.com/a/lcX02 我相信它应该显示 Android SDK Platform-Tools 27 但它只显示 26.0.2(Windows 上的 Android Studio)
    • 也发生在我身上。 26.0.2是最新的SDK平台工具
    【解决方案3】:

    这似乎是一个 IDE 问题,因为它在 Android Studio 3.0 中运行时没有警告,正如 CrazyCoder 所建议的那样。

    目前看来,IntelliJ Idea 的更新不足以使其正常工作。因此,即使我从一开始就使用 Idea,我现在还是会切换到 AS。 :)

    感谢您的意见。 :)

    【讨论】:

    • 查看我最近发布的答案。
    • 有趣的是,这个答案与上面或下面的所有答案都是一样的。在那一刻,这是唯一可用的行动方案。与此同时,更新附带了解决此问题的内容。
    猜你喜欢
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多