2017-03-03 89 views

回答

110

android-apt插件已被棄用
檢查這裏爲migration guide

由於Android的搖籃插件2.2版本,以前由Android的易提供的所有功能現在在Android插件可用。

按照遷移指南獲取等效功能,您可以刪除android-apt

遷移指南的重要部分:

  • 確保您是在Android 2.2搖籃插件或更高版本。
  • 從構建腳本
  • 更改所有aptandroidTestApttestApt依賴於他們的新格式取出android-apt插件:
dependencies { 
    compile 'com.google.dagger:dagger:2.0' 
    annotationProcessor 'com.google.dagger:dagger-compiler:2.0' 
} 

而且在Android搖籃插件有一個明確檢查這就是你所看到的:

使用不兼容p對於註釋處理Android的易

未來的Android搖籃插件版本lugins不會與方式android-apt作品,這對於檢查原因兼容

+0

謝謝!我不知道apt已被棄用。 – Bronx

+1

而在Android Gradle插件中,Google會明確檢查它,這就是您所看到的。未來的Android Gradle版本將不會以'android-apt'的方式兼容,這就是檢查的原因。 – botteaap

+0

@botteaap謝謝你的觀點。更新了答案。 –

6

在@Gabriele Mariotti捎帶這裏,因爲他的回答很有用,暗示這一點,但沒有說明。 Gradle也並不認爲這是一個有效的選項,儘管它也是如此。 androidTestApttestApt的測試等效爲androidTestAnnotationProcessortestAnnotationProcessor

例子:

testApt "com.google.dagger:dagger-compiler:$daggerVersion" 
androidTestApt "com.google.dagger:dagger-compiler:$daggerVersion" 

應改爲

testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion" 
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion" 
20

對於我來說,我在使用Contentful的Vault庫有這個錯誤,指定您包括:

apply plugin: 'com.neenbedankt.android-apt' 

compile 'com.contentful.vault:core:2.1.0' 
apt 'com.contentful.vault:compiler:2.1.0' 

你需要做的是DELETEapply plugin: 'com.neenbedankt.android-apt'

然後CHANGE什麼:

compile 'com.contentful.vault:core:2.1.0' 
apt 'com.contentful.vault:compiler:2.1.0' 

annotationProcessor 'com.contentful.vault:compiler:2.1.0' 
annotationProcessor 'com.contentful.vault:core:3.0.1' 

您可以隨時https://github.com/contentful/vault爲晚ST版本

4
  1. 取出容易插件

  2. 變化:

    容易 - >編譯

    testApt - > testAnnotationProcessor

    androidTestApt - > androidTestAnnotationProcessor

  3. 在您的build.gradle(應用程序),添加到defaultConfig:

vectorDrawables.useSupportLibrary =真

0

如果註解處理器具有參數,一個也可能要改變這一點:

apt { 
    arguments { 
     KEY "VALUE" 
    } 
} 

對此:

android { 
    ... 
    defaultConfig { 
     ... 
     javaCompileOptions { 
      annotationProcessorOptions { 
       arguments = ['KEY': 'VALUE'] 
      } 
     } 
    } 
} 
相關問題