为什么android / gradle会提升:"找不到属性' compileSdkVersion'"?

时间:2015-05-18 12:52:21

标签: android gradle

我有一个基于Android / Gradle的项目

AndroidManifest.xml设置sdk:

...
<uses-sdk android:minSdkVersion="16"
          android:targetSdkVersion="22"
          android:compileSdkVersion="22"/>
...

在Gradle配置中 - build-extras.gradle我也设置了sdk--粗略地说:

...
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'

    defaultConfig {
        applicationId 'com.example.myapp'
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName '1.0'
    }
...

使用Gradle构建项目时,我得到:

...
No resource identifier found for attribute 'compileSdkVersion' in package 'android'
...

为什么?

我让它从android:compileSdkVersion="22"构建删除AndroidManifest.xml,但经过大量试验和错误后,这是一个幸运的打击。所以我想知道为什么?

1 个答案:

答案 0 :(得分:5)

<uses-sdk>具有以下语法,但不包含compileSdkVersion属性:

<uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />

uses-sdk element documentation

compileSdkVersion与编译过程相关,而不是与最终应用程序的执行相关,因此它在应用程序清单中没有位置。