Android Studio 3.+ 整合 ButterKnife8.8.1錯誤
阿新 • • 發佈:2019-01-01
個人比較追新,Studio總是用最新的,很久沒有建專案了,這幾天需要新建專案,才發現以前一股腦就整合的外掛,總是遇到問題,頗為震驚!!!!!!!!!
我先是跟著Github的指導整合的,發現這個找不到,那個有衝突,
我用的Android Studio 3.3 Canary 4 (當前最新)
工程 buidle.gradle
buildscript { repositories { google() jcenter() mavenCentral()//<------ } dependencies { classpath 'com.android.tools.build:gradle:3.1.4' //<------- classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' //<------- } }
app module buidle.gradle
apply plugin: 'com.android.application' //<---------------------- 這裡不用 apply Github上的 //apply plugin: 'com.android.library' //apply plugin: 'com.jakewharton.butterknife' android { ............................ } dependencies { .................... implementation 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' }
依賴的Module 中使用 ButterKnife
apply plugin: 'com.android.application' apply plugin: 'com.jakewharton.butterknife'//就需要這裡了 android { ............................ } dependencies { .................... // 一樣需要引入 implementation 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' } 繫結View 使用R2.id.*** @BindView(R2.id.base_back_container) LinearLayout back_container;
根據大家說的降級提示,我最開始 gradle 版本 3.0.0 也行 (當然這裡降了,com.android.***** 的支援庫也要相應的降版本)
這裡是 gradle butterknife 版本有一個對應關係,
順便說一句, recycleview 的支援不再是以前的 com.android.support 而是下面的這個 androidx.***
implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc01'
implementation 'androidx.recyclerview:recyclerview:1.0.0-rc01'
目前也有一些可以繼續使用的
implementation 'com.android.support:multidex:1.0.3'
9/21加:最近更新了Android Studio 3.3 Canary 11 (當前最新)
這個版本建立新專案時,有沒有采用androidx (因吹斯聽)
這是我找到 gradle butterknife 版本 最高的 可用的了,如有其它的對應關係,歡迎留言