1. 程式人生 > >android-apt和annotationProcessor

android-apt和annotationProcessor

幾個名詞

APT是什麼

apt是Annotation Processing Tool的縮寫,顧名思義,就是註解處理工具,用於編譯時對註解進行解析,自動生成程式碼,並編譯程式碼生成class檔案,大體就是這個過程。

android-apt是什麼

android-apt是一個開發者開發並開源的註解處理框架,因為一開始Android沒有預設的支援,dagger、ButterKnife等流行的註解框架,都是用的android-apt進行的註解處理。

annotationProcessor又是什麼

在Android studio Gradle外掛2.2版本釋出後,開始支援註解處理,而android-apt作者也就宣告不再更新,建議使用官方提供的方式,也就是annotationProcessor。

APT使用

android-apt使用

以dagger的使用為例:

在專案build.gradle中新增

buildscript {
    repositories {
      mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' //配置外掛
    }
}

在app/build.gradle中新增

apply plugin: 'com.neenbedankt.android-apt' //應用外掛

dependencies {
 apt 'com.squareup.dagger:dagger-compiler:1.1.0' //註解編譯器
 compile 'com.squareup.dagger:dagger:1.1.0'
}

annotationProcessor使用

還是以dagger的使用為例:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
    }
}
dependencies {
    compile 'com.google.dagger:dagger:2.0'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}

使用annotationProcessor後,只需要配置這一處即可,但是不要忘記,必須要在Gradle plugin 2.2及以上才能使用。