1. 程式人生 > >Android Studio 3.0整合Butter Knife8.8.1錯誤

Android Studio 3.0整合Butter Knife8.8.1錯誤

隨著雙十一的到來,大家都在忙著剁手,而我卻忙著填坑,各位看官准備好小板凳,且聽小弟慢慢道來。
最近突然有個想法,準備做一款APP,所以再次打開了好久沒有使用的Android Studio,發現有新版本可以更新,想也沒想,抱著學習的態度,必須更新啊,悲催之路由此開始,忙活了一會,下載、安裝…….巴拉巴拉,Android Studio 3.0更新安裝完成,還是挺順利的,建一個新專案準備耍耍,嗯,等著AndroidStudio編譯新專案、編譯新專案,一頓飯吃完了,還是在編譯剛建立的新專案,沒辦法採用暴力手段,殺程序,然後找到剛才建立的專案看看是什麼鬼,全新的專案居然會出現這樣的問題,猜測可能是Android Studio更新也伴隨著其他的更新,果不其然,gradle丫的用4.1的了,剛才的卡死就是在下載這貨,你慢,你行,複製下載地址直接用工具下載,然後放到gradle對應目錄(不會操作的可以百度,網上有一大堆解決gradle下載緩慢的解決方案),一切準備就緒,再次開啟Android Studio,OK,一切正常了。
因為好久沒有研究安卓的東西了,想著相關的外掛也應該有更新,我最常用的就是Butter Knife,瀏覽下了外掛地址:

https://github.com/JakeWharton/butterknife,已經更新到了8.8.1,我之前用的是Butter Knife8.2.1,當時也出了一些問題,詳見《Android使用Butter Knife8.2.1空指標》,興沖沖的按照官網上面最新的配置方法配置了一下,執行,出錯,嗯,沒有看錯,又出錯了。仔細的和官網上面的比對一下,完全一樣,但還是任性的出錯了,唉,每次升級都是一部血淚史,下面提供一下我的配置方式:
第一步:和官網上面的一樣,下載

dependencies {
  implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' }

這裡面下載的時候用的是implementation,使用compile也可以,但是Android Studio 3.0中compile已經過時了,等價於compile的是apiimplementationapi基本一致,存在一些小差異,大家查一下相關資料,這裡不做過多解釋。
第二步:已經沒有第二步了,直接執行,我的專案已經執行正常了,驚不驚喜,就是這麼出人意料。

如果按照我上面的配置執行還是有問題的話,這裡在提供另外兩種方法:
第一種:Butter Knife降級,配置8.4.0版本的,我已開始是直接把第一步中的版本號改成8.4.0的,可以正常執行。
第二種:Android Studio3.0使用的構建指令碼如下:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

我們需要把上面的3.0.0版本降級為原來使用的版本。

好了,如果大家在使用過程中還有其他問題,歡迎一起討論。