Android annotationProcessor

时间:2016-09-10 19:50:17

标签: android build.gradle

在我的项目应用程序依赖项中,我有一个需要annotationProcessor的库,但是当我尝试构建项目时,我收到此错误:

  

错误:(44,0)找不到类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

的对象上的参数[...]的方法annotationProcessor()

build.gradle 就像:

apply plugin: 'com.android.application'

android {
   compileSdkVersion 24
   buildToolsVersion "24.0.2"

   defaultConfig {
      minSdkVersion 10
      targetSdkVersion 24
      ...

      jackOptions {
          enabled true
      }
   }

   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }
   ...

}

dependencies {
   Another dependencies ... 

   compile '...'
   annotationProcessor '...'
}

请注意,我正在为此项目启用jackOptions和Java 8版本。

如何解决?

1 个答案:

答案 0 :(得分:1)

为了解决这个问题,我将Android Studio更新为2.2或更高版本,因为annotationProcessor只是从这个版本实现的。

因此,要做的第一件事就是检查Beta或Canary频道上是否有新的Android Studio更新(此时,2.2版本在稳定频道上不可用)。使用新的Android Studio IDE版本,我们可以使用annotationProcessor。

顶级构建文件(项目的构建版本和应用程序模块的构建版本)将包含以下类路径依赖项(在我的示例中为2.2.0-rc2版本):

buildscript {
    repositories {
       ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0-rc2'
    }
}

<强>更新

版本2.2可以在稳定的频道上使用,因此,您不必担心在其他频道上可用的Android Studio版本上遇到麻烦的可能性(<更多)。