android-apt 即將退出歷史舞臺
@author ASCE1885的 Github 簡書 微博 CSDN 知乎
本文由於潛在的商業目的,不開放全文轉載許可,謝謝!
伴隨著 Android Gradle 外掛 2.2 版本的釋出,近期 android-apt
作者在官網發表宣告證實了後續將不會繼續維護 android-apt
,並推薦大家使用 Android 官方外掛提供的相同能力。也就是說,大約三年前推出的 android-apt
即將告別開發者,退出歷史舞臺,Android Gradle 外掛提供了名為 annotationProcessor
的功能來完全代替 android-apt
。
下面我們來看下 android-apt
annotationProcessor
所需的工作。
切換的步驟
為了使用 annotationProcessor
功能代替 android-apt
,首先需要把你的 Android 工程所用的 Gradle 外掛版本升級到 2.2 及以上,也就是修改工程根目錄的 build.gradle
中的外掛版本,本文釋出時 Android Studio 最新穩定版 2.2.1 剛剛釋出,它推薦的 Gradle 外掛版本也是 2.2.1,修改如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.1'
}
}
接著移除 Module 的 build.gradle
檔案中對 android-apt
的相關配置,也就是刪除類似下面的配置:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
apply plugin: 'com.neenbedankt.android-apt'
最後將 Module 的 build.gradle
檔案中使用 apt
annotationProcessor
進行引入,修改前配置如下:
dependencies {
compile 'com.google.dagger:dagger:2.0'
apt 'com.google.dagger:dagger-compiler:2.0'
}
修改後配置如下:
dependencies {
compile 'com.google.dagger:dagger:2.0'
annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
}
值得一提的是,Android 官方的 annotationProcessor
同時支援 javac
和 jack
編譯方式,而 android-apt
只支援 javac
方式。當然,目前 android-apt
在 Android Gradle 外掛 2.2 版本上面仍然可以正常執行,如果你沒有想支援 jack
編譯方式的話,可以繼續使用 android-apt
。
拓展閱讀
《Whats-next-for-android-apt》1
《android-apt migration》2
歡迎關注我的微信公眾號 ASCE1885,專注與原創或者分享 Android,iOS,ReactNative,Web 前端移動開發領域高質量文章,主要包括業界最新動態,前沿技術趨勢,開源函式庫與工具等。
相關推薦
android-apt 即將退出歷史舞臺
@author ASCE1885的 Github 簡書 微博 CSDN 知乎 本文由於潛在的商業目的,不開放全文轉載許可,謝謝! 伴隨著 Android Gradle 外掛 2.2 版本的釋出,近期 android-apt 作者在官
驗證碼何時可以退出歷史舞臺?
分享 活動作弊 ID rod nor 循環 www 隨著 常見 驗證碼是有必要存在的,只是不同階段表現形式不同,未來的趨勢是更加智能無感知,用戶體驗更好。 簡而言之, 驗證碼其終極目的,就是區分正常人和機器的操作。區分人機行為是必要的:互聯網上各種行為,註冊、登錄、發帖、領
執行緒退出歷史舞臺
執行緒 執行緒是指程序中的一個單一順序的控制流,是作業系統能夠排程的最小單位,一個程序中可以有多條執行緒,分別執行不同的任務。執行緒有核心執行緒和使用者執行緒之分,但在本文中僅指核心執行緒。在軟體開發中,使用執行緒有以下好處: 1、在多核或多路 CPU 的機器上多執行
個人電腦將退出歷史舞臺
“2004年12月8日,聯想集團以12.5億美元收購IBM個人電腦事業部。至此,聯想集團將成為年收入超百億元的世界第三大PC廠商。”老實說,當時我看到這條訊息時真的被嚇呆了。IBM是我相當崇拜的企業,在我看來,聯想跟她比,真的不是同一級別的,她被聯想吞併?說什麼我也不信,即使“瘦死的IBM也比聯想
Android程序全然退出的三種方法
set 歷史 text post 代碼 rtp otto start lin 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //獲取PID,眼下獲取
Android實例-退出程序
不可用 home ack android char context inf con graphic Android實例-退出程序 http://www.cnblogs.com/FKdelphi unit Unit1; interface
android-apt和annotationProcessor
幾個名詞 APT是什麼 apt是Annotation Processing Tool的縮寫,顧名思義,就是註解處理工具,用於編譯時對註解進行解析,自動生成程式碼,並編譯程式碼生成class檔案,大體就是這個過程。 android-apt是什麼 android-apt是一個開發
專業化學術推廣迴歸歷史舞臺,效果如何保證?
帶金銷售的傳統營銷模式逐步被曝光,國家監管力度的也在逐步加大,國內製藥企業的銷售模式勢必要進行轉變。如何在新的政策下進行銷售,成為了擺在了眾多製藥企業的面前亟待解決的問題。而此時,在數年前曾經被國內以及國際製藥企業所推崇的學術推廣,又逐漸的迴歸了。 很多醫藥企業將市場活動重點放在學術推廣會
ANDROID----如何隨時隨地退出活動
首先建立一個類: public class CollectorActivity{ public static List activities=new ArrayList<> (); public static void addActivity(Activity activity)
Android 仿QQ退出(點選返回鍵不退出app,點選icon直接進入上次退出的頁面)
在登入頁或者歡迎頁onCreate方法加入如下程式碼: if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_
你必須知道的APT annotationProcessor android-apt Provided 自定義註解
你可能經常在build.gradle檔案中看到,這樣的字眼,annotationProcessor、android-apt、Provided,它們到底有什麼作用?下面就一起來看看吧1、什麼是APT?隨著一些如ButterKnife,dagger等的開源註解框架的流行,
android 實現 搜尋儲存歷史記錄功能
大家應該做這個功能 首先想到的是用AutoCompleteTextView 這個控制元件非常好用 ,而且程式碼寫起來也是非常簡單 而且還是自動匹配提示 具體實現方法:程式碼實現: <AutoCompleteTextView android:layout
Android主介面退出再次進入略過歡迎面
需求 第一次進入程式的時候啟動歡迎介面,之後跳轉到程式主介面 在主介面退出之後再次進入程式,略過程式的歡迎介面直接進入主介面 我的思路: 歡迎介面啟動完畢會destroy,之後跳轉到主介面,這時棧中應該只有MainActivity這一
android-apt plugin is incompatible with future version of Android Gradle plugin. use 'annotationPro
Warning:android-apt plugin is incompatible with future version of Android Gradle plugin. Please use ‘annotationProcessor’ configur
Android APT 例項講解
APT(Annotation Processing Tool) 即註解處理器,是一種註解處理工具,用來在編譯期掃描和處理註解,通過註解來生成 Java 檔案。即以註解作為橋樑,通過預先規定好的程式碼生成規則來自動生成 Java 檔案。此類註解框架的代表有 ButterKnife、Dragger2、EventB
Android APT 技術淺談
安卓AOP三劍客: APT, AspectJ, Javassist Android APT APT(Annotation Processing Tool 的簡稱),可以在程式碼編譯期解析註解,並且生成新的 Java 檔案,減少手動的程式碼輸入。
phonegap在android中如何退出程式
這個問題有兩個解決辦法,第一用android在mainActiviy中寫一段,第二用phonegap的自帶介面 一、核心是方法System.exit(0);,因為finish()啥的都不能用 public class MainActivity extends DroidG
android-apt切換為官方annotationProcessor
Android Gradle外掛2.2版本釋出後,Android 官方提供了annotationProcessor來代替android-apt,annotationProcessor同時支援 javac 和 jack 編譯方式,而android-apt只支援 javac 方式。同時android-apt作
報錯com.neenbedankt.android-apt not found如何解決
apply plugin: 'com.neenbedankt.android-apt' 在moudle中build.gradle檔案內有應用此外掛,編譯時報錯 檢查Project中build.gradle檔案是否有配置,類似的外掛沒找到原因應該也是如此 depen
ButterKnife繫結失敗?android-apt沒用?嘗試用一下annotationProcessor
最近新專案使用ButterKnife時遇到了一個問題,明明gradle依賴已經添加了,程式碼中也綁定了,但是卻繫結失敗了。查詢資料原來是android apt的作者表示不再維護了,那這個apt不維護跟ButterKnife繫結失敗有什麼關係呢? 首先