butterknife和Android studio升级后异常 Unable to find method ‘com.android.build.gradle.api.BaseVariant.get
butterknife已经升级到8.8.1版本了,说实话确实是好用,不然也不会一直在使用它,最近一直打算写一个及时通讯的项目。顺便熟悉一下升级后的Android studio。和平常创建项目一样的步骤,果然真的是每一次升级都是一段血泪史,一点也不出意外的报错。
我能怎么办,我也很绝望。
好了反正是经过各种排查确认,最后确定了根源,也就是最后的罪魁祸首,butterknife。马上去GitHub上确认一下导入过程没有什么问题呀,但是就是这个报的错呀。最后在网上也找到了解决的办法。
第一种
把butterknife降到8.4.0降级以后的butterknife在升级的以后的Android studio上使用没问题。
第二种
把你的studio降级到3.0.0
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
对于有强迫症的好办法
GitHub上的步骤是这样的,
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
}
}
and then apply it in your module:
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
dependencies {
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
当然这样用还是会报错,不报错的用法是
测试无问题。